不要重复自己(干)

为了帮助维护干净的代码,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 方式传递参数来实现更改。