【问题标题】:Refactor ruby on rails重构 ruby​​ on rails
【发布时间】:2011-07-22 19:43:54
【问题描述】:

在 Ruby on Rails 中重构的最佳方法是什么。我有一个项目,我想重构我的几个对象——额外的属性和现有属性的重命名。我怎么做这个最简单的方法?我用脚手架创建了不同的对象“rails generate scaffold foo name:string ....” 我确实从头开始,或者有一些很酷的 ruby​​ 命令,比如“rails refactor foo name:string”..

【问题讨论】:

    标签: ruby-on-rails refactoring


    【解决方案1】:

    重构基于人类的感知。当然,省略一些冗余的东西可以由计算机计算出来,但是当你重构时,你实际上是在改进你自己的手写代码。除非计算机具有像人类一样的智能和识别代码的能力,否则不,这是不可能的。

    也许你指的是别的东西?

    【讨论】:

    • 我认为 OP 想要这样的东西:eclipse.org/articles/… 用于 Rails。
    • 我正在寻找实用的方法/最有效的方法。
    【解决方案2】:

    据我所知,没有自动化的方法可以做到这一点。就我而言,关键是在开始之前确保您的测试覆盖率在相关区域(最好是整个应用程序)中具有良好的覆盖率。

    一旦完成,我倾向于使用相当暴力的策略来进行实际重构:

    • 运行所有测试。
    • 在文件中搜索相关的文件名和字符串,判断是否更改了正确的内容(不要只是搜索/替换)。
    • 与代码本身一起重构您的测试。
    • 再次运行所有测试。
    • 重复直到成功。

    在 Ruby 中重构不是很自动化的原因(至少在我看来)是因为该语言是如此动态,因此任何自动化工具都很难确保它们已涵盖所有基础。

    【讨论】:

      【解决方案3】:

      你应该学习一些Rails best practices 并用它们来重构你的代码

      【讨论】:

        【解决方案4】:

        首先对您的应用程序有很好的了解,然后从一个过程开始并对其进行序列化。

        • 使用助手进行优化。方法应该足够小,并尽量减少代码重复的可能性。
        • 使用有很大帮助的应用程序文件
        • 您还可以编写私有方法以减少方法中的行数。
        • 始终确定重构的位置及其依赖关系..

        感谢

        .

        【讨论】:

          猜你喜欢
          • 2021-06-01
          • 2011-02-16
          • 1970-01-01
          • 2012-03-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-17
          • 1970-01-01
          相关资源
          最近更新 更多