Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails应用程序中将新方法添加到模型的条件_Ruby On Rails_Architecture - Fatal编程技术网

Ruby on rails 在Rails应用程序中将新方法添加到模型的条件

Ruby on rails 在Rails应用程序中将新方法添加到模型的条件,ruby-on-rails,architecture,Ruby On Rails,Architecture,最近,我们决定为某些Rails3项目制定一个通用指南。我们在形式化标准时遇到了一些麻烦:代码应该放在哪里 对于模型,我们最终得出以下结论: 如果 它会更改模型的属性 它可以作为模型方法的长序列调用的快捷方式,并具有良好的(语义)名称 它重新定义了一些功能 由于架构问题,需要插入它 如果 它用于表示数据(聚合起作用的情况除外) 它是语法糖(语法应该是持久的) 它返回常量值(使用常量或类变量) 它是其他方法的别名(使用标准ruby方法创建别名) 它的逻辑比较简单,不会改变数据库中的任何内容(将其移动

最近,我们决定为某些Rails3项目制定一个通用指南。我们在形式化标准时遇到了一些麻烦:代码应该放在哪里

对于模型,我们最终得出以下结论: 如果

  • 它会更改模型的属性
  • 它可以作为模型方法的长序列调用的快捷方式,并具有良好的(语义)名称
  • 它重新定义了一些功能
  • 由于架构问题,需要插入它
  • 如果

  • 它用于表示数据(聚合起作用的情况除外)
  • 它是语法糖(语法应该是持久的)
  • 它返回常量值(使用常量或类变量)
  • 它是其他方法的别名(使用标准ruby方法创建别名)
  • 它的逻辑比较简单,不会改变数据库中的任何内容(将其移动到库中)

  • 还可以添加什么作为标准?哪些书籍/文章涉及此类问题

    我强烈建议你阅读。这里讨论了您所涉及的很多内容,但更多的是一本最佳实践书。如果您已经使用Rails一段时间了,很多主题都是相当明显的,但它是“检查”您的编码实践的一个很好的资源。我把它借给了我团队中的其他开发人员,他们对此给予了非常积极的反馈。

    Hmm。。由于某种原因,我没有注意到这本书。谢谢你指点我。它是最近发布的,可能还没有得到应有的曝光。