1、Rubycritic
Rubycritic能给你项目中的任何单个文件进行深入分析。每个文件拿到一个从A(优秀)到F(差)的等级和一个关于复杂度、重复性的结果值。
它输出一个界面方便的html文件来浏览代码和阅读笔记(复杂的方法,重复的代码等)。
2、Rubocop
Rubocop是另一个代码分析器。它有很多的“Cops”,每个“Cops”都是一种不同的检测,都能在代码中体现出来。Cops能够被添加和配置。管理所有选项的最佳方法是使用.rubocop.yml配置文件,就像我所使用的这个(我禁用了一些检测):
Metrics/LineLength: Enabled: false Documentation: Enabled: false
它也可以集成到你最喜欢的编辑器中,有许多的编辑器插件,我个人通常使用Sublime Text。
3、Pronto
Pronto对于运行分析比较不同的分支请求。你需要安装你所需要的runners(这里有pronto runners列表)
$ gem install pronto $ gem install pronto-reek $ pronto run
你可以得到一个变化分析,或者你可以去做
$ pronto run — index
运行未变化的分析,我通常在承诺之前运行最后一个
4、Reek
Reek是一种“臭味探测工具”,非常便于使用。
$ gem install reek $ reek .
该工具有很多的选项,可以在特定文件夹或文件上运行。Reek包含在Rubycritic中,也能被包含在Pronto中,如果你使用过这些工具,就不需要使用它。
5、Rails Best Practices
Rails Best Practices是一个代码度量工具,它能检测你的代码并且与最佳方法对比,最后反馈一份报告。
它能被添加到pronto中,所以你不需要运行不同的工具。
最后要说的是,我推荐使用Code climate
它不像其他产品仅仅是一个工具,也是一个在线服务,检测代码质量,安全性和测试覆盖率。但它需要你的git账户,能对不同分支进行检测。
现在你已经准备好进行重构(因为你的代码被测试覆盖了,对吗?)
本文文字及图片出自 www.evget.com
你的反应是: