簡體   English   中英

Ruby on Rails中的最后20%

[英]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或緩存層。

我不相信你會遇到Rails慣例的嚴重問題。 堅持慣例並信任RoR系統。 Rails背后的人們為這些約定投入了大量精力來支持99%的常見使用場景。

如果你真的需要在約定之外做一些事情,它最終會很快變得復雜。 但是,你並不孤單。 網上有很多優秀的資源可以獲得幫助(例如StackOverflow社區)。

把它們加起來:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM