不要重複自己(幹)

為了幫助維護乾淨的程式碼,Rails 遵循 DRY 的原則。

它儘可能地涉及儘可能多地重用程式碼,而不是在多個位置複製類似的程式碼(例如,使用 partials)。這樣可以減少錯誤,保持程式碼清潔,並強制執行一次編寫程式碼然後重用程式碼的原則。在一個地方更新程式碼比更新相同程式碼的多個部分更容易,更有效。從而使你的程式碼更加模組化和健壯。

另外 Fat Model,Skinny Controller 是乾的,因為你在模型中編寫程式碼而在控制器中只進行呼叫,如:

# Post model
scope :unpublished, ->(timestamp = Time.now) { where('published_at IS NULL OR published_at > ?', timestamp) } 

# Any controller
def index
    ....
    @unpublished_posts = Post.unpublished
    ....
end

def others
    ...
    @unpublished_posts = Post.unpublished
    ...
end

這也有助於實現 API 驅動的結構,其中隱藏內部方法並通過以 API 方式傳遞引數來實現更改。