原文: http://robots.thoughtbot.com/sandi-metz-rules-for-developers
http://book.douban.com/subject/10737309/ 推荐大家看这本书《Practical Object Oriented Design in Ruby》,也有中文版,不过翻译的语句太晦涩。
又不能写太多 private methods... if else 又要多用 private methods... class 还不能超 100 行... 茫茫多的 class 么... →..→
喷的人不少。其实一点都不难。就算开始有点难,后面写多了就很舒畅。
这个道理就和 OOP 一样。OOP 也不是铁则,你用面条代码一样可以写出同样功能的东西,只不过用了 OOP,代码的灵活性和可维护性就强很多。这个也是一样。
除了第四条只适用于 Rails 或其他 web 框架,其他放在 Ruby 上都通用。
@Victor 这个只是通用原则,你真需要变通时也不能拦着你啊。有一个原则好过没有原则,至少你在变通时会有所约束,会给自己或 team 一个理由,比如说性能可以大幅改进。