[英]The last 20% in Ruby on Rails
我(非常)是一位經驗豐富的程序員,但對Ruby和Ruby on Rails來說卻是全新的。
RoR看起來非常適合快速工作,特別是CRUD操作的自動屏幕生成。
它確實可以讓您快速提高工作效率。
當我必須完成我的申請時,問題是最后20%的工作。 RoR會議不會妨礙我嗎? 因為並非所有用戶都可以使用每個數據庫表,並且並非所有用戶都可以編輯所有列和/或所有行,並且視圖必須適應我的站點的外觀和感覺等。
我知道RoR已成功應用於現場,但是在第一階段燒毀后,你在RoR中獲得足夠的速度以逃避重力的方式。
我認為腳手架不會讓你80%。 腳手架很好,因為它向您展示了Rails的各個部分是如何組合在一起的,但我不會使用腳手架代碼構建我的應用程序。 現在您對腳手架印象深刻,最好忘記它的全部內容。 :)
Rails在我腦海中真正閃耀的地方是數據庫遷移 ,動態ActiveRecord的真實性以及插件生態系統。
決定使用Rails時需要學習很多東西。 你有一個新的語言,新的框架和新的插件 - 但如果你花時間學習這些東西,你可以使用Rails非常高效。
我一直在鐵軌上做紅寶石很長一段時間。 80/20問題並非鐵路獨有。 它通常適用於整個世界。 我也不知道任何可以為你做業務邏輯的框架。
回答你的具體問題。 在做20%時,約定不會妨礙你。 相反,慣例將幫助您更快地完成20%的速度。
就個人而言,對於用戶身份驗證,我使用Authlogic。 對於用戶授權,我根據客戶需要使用Lockdown或Authorization插件。
我還在大多數項目中使用inherited_resource來簡化控制器代碼。 這是慣例的另一種力量。
為了提高開發速度,您不僅需要了解Rails,還需要為您提供正確的東西,因此您無需再次重新發明輪子。 此外,了解Ruby語言是快速發展超過80%的必要條件。
Ruby Toolbox提供了針對特定域的典型rails項目中使用的一些最流行的gem和插件。 您可以查看相關類別並了解大多數人使用的內容。 (使用流行的,維護良好的寶石可能是一個好主意)
TDD / BDD風格的開發也將幫助您從長遠來看加速。
最后,一個警告:如果你偏離軌道慣例,你將會有一個痛苦的時間。
PS我以前用過Merb。 我的感覺是慣例可以幫助你使用merb,但是你不會因為沒有在merb中使用它們而受到太多的懲罰。 但是,我對Rails的體驗是,如果你在開發rails應用程序時決定不遵循rails約定,它會以某種方式回過頭來咬你! 所以當你真的試圖偏離鐵路慣例時要三思而后行......(這是我自己的經驗,當然是主觀的,但你可以把它當作警告......)
RoR會議不會妨礙我嗎? 因為並非所有用戶都可以使用每個數據庫表,並且並非所有用戶都可以編輯所有列和/或所有行,並且視圖必須適應我的站點的外觀和感覺等。
這有點不合理。 Rails是一個從現實世界的應用程序中解脫出來的框架。 這些應用程序也必須處理所有這些問題,以及您可能還沒有想到的其他問題。 一般來說,一旦你學會了這些慣例,生活就會變得更容
另一點是,這些慣例僅僅是慣例。 你不必遵循它們。 你甚至不需要為所有東西使用RoR,雖然我還沒有找到我沒有/不可能的情況,我通常會盡可能多地嘗試進入DB或緩存層。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.