2014-09-10 41 views
2

我想保持我的代碼整潔,並遵循rails開發人員中的最佳實踐,這引發了我的這個問題。比方說,比如我有以下方法類型我的模型Rails模型的常見方法訂單

  • 模型關聯
  • 驗證
  • 作用域
  • 回調
  • 其他自定義方法

什麼是通常的順序上述出現在?請隨時添加我可能遺漏的其他人。

紅利:您應該將變量與關聯的方法類型一起進行分組,還是應將所有變量分組在模型的開頭?比方說,我有一個變量來存儲正則表達式。是否最好保持接近驗證或模型的頂部,類似於保持全局的位置?

例子:

VALID_EMAIL_REGEX = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i 
validates :email, uniqueness: true, length: {within: 5..50}, format: { with: VALID_EMAIL_REGEX } 
+0

不知道這是否是最佳實踐,但您所描述的幾乎是我所做的。如果您將電子郵件正則表達式移到驗證後,我認爲您會發現它不起作用。 – 2014-09-10 15:11:58

+0

是的,我的壞。我的意思是靠近或在最頂端。 – 2014-09-10 15:13:09

+1

相關閱讀: https://github.com/bbatsov/rails-style-guide#models and http://rails-bestpractices.com/posts/75-keep-code-struture-in-models-consistent – 2014-09-10 15:44:43

回答

2

不要緊,你按照慣例,只要你保持一致,併爲其他開發人員更容易理解。

通常遵循訂貨會

1. associations 
2. scopes 
3. class methods 
4. validations 
5. callbacks 
6. instance methods 

一些人也動下面回調類的方法。再次,它取決於你。但保持一致

2

我按照這個順序:

  1. 協會
  2. 範圍
  3. 驗證
  4. 回調
  5. 類方法
  6. 實例方法

再次,它真的取決於你和重要的部分是是一致的

我把所有的變量放在開頭,你可以把它們放在任何地方,但我認爲把它們放在一起是有利的。