在Rails应用程序中向模型添加新方法的标准

时间:2011-01-28 11:05:14

标签: ruby-on-rails architecture

最近我们决定为某些Rails3项目制定一般指南。我们遇到了一些形式化标准的麻烦:应该放置代码吗?

对于型号,我们最终得到以下信息: 如果......

,应该将方法添加到模型中
  1. 它会更改模型的属性。
  2. 它可以作为模型方法的长序列调用的快捷方式,并且具有良好的(语义)名称。
  3. 它重新定义了一些功能。
  4. 由于架构问题需要插入。
  5. 如果......

    ,则不应插入方法
    1. 用于表示数据(聚合工作的情况除外)。
    2. 它是语法糖(语法应该是持久的)
    3. 它返回常量值(使用常量或类变量)
    4. 它是其他方法的别名(使用标准的ruby方法来创建别名)
    5. 它具有更复杂的逻辑,并且不会更改db中的任何内容(将其移动到lib)
    6. 还可以添加什么作为标准?哪些书籍\文章涵盖了这些问题?

1 个答案:

答案 0 :(得分:1)

我强烈建议您阅读Rails Antipatterns: Best Practice Ruby on Rails Refactoring。这里讨论了很多你所讨论的内容,但它更像是一本最佳实践书。如果您已经使用Rails一段时间,很多主题都相当明显,但它是一个很好的资源,可以“检入”您的编码实践。我把它借给了我团队中的其他开发者,他们给出了非常积极的反馈意见。