ruby 代码检测工具

概述:没有人愿意生活在一个有臭味的房子里,臭味的出现说明有什么不对劲的事情发生了,须要你去找到臭味的来源并消除臭味。若是相似的事情发生在一个App中,例如在一个Ruby on Rails项目中,发现“有臭味”的代码并重构它是一种很好的锻炼。幸运地告诉你,这里有一些宝贵的经验能够帮助你。html


一、Rubycriticgit

Rubycritic能给你项目中的任何单个文件进行深刻分析。每一个文件拿到一个从A(优秀)到F(差)的等级和一个关于复杂度、重复性的结果值。安全

它输出一个界面方便的html文件来浏览代码和阅读笔记(复杂的方法,重复的代码等)。编辑器

tool
工具


二、Rubocop测试

Rubocop是另外一个代码分析器。它有不少的“Cops”,每一个“Cops”都是一种不一样的检测,都能在代码中体现出来。Cops可以被添加和配置。管理全部选项的最佳方法是使用.rubocop.yml配置文件,就像我所使用的这个(我禁用了一些检测):插件


1htm


2产品


3it


4


Metrics/LineLength:


Enabled:false


Documentation:


Enabled:false


它也能够集成到你最喜欢的编辑器中,有许多的编辑器插件,我我的一般使用Sublime Text。


tool


三、Pronto

tool


Pronto对于运行分析比较不一样的分支请求。你须要安装你所须要的runners(这里有pronto runners列表)


1


2


3


$ gem install pronto


$ gem install pronto-reek


$ pronto run


你能够获得一个变化分析,或者你能够去作


1


$ pronto run — index


运行未变化的分析,我一般在承诺以前运行最后一个


四、Reek

tool


Reek是一种“臭味探测工具”,很是便于使用。


1


2


$ gem install reek


$ reek .



 

该工具备不少的选项,能够在特定文件夹或文件上运行。Reek包含在Rubycritic中,也能被包含在Pronto中,若是你使用过这些工具,就不须要使用它。


五、Rails Best Practices

Rails Best Practices是一个代码度量工具,它能检测你的代码而且与最佳方法对比,最后反馈一份报告。

它能被添加到pronto中,因此你不须要运行不一样的工具。


最后要说的是,我推荐使用Code climate

它不像其余产品仅仅是一个工具,也是一个在线服务,检测代码质量,安全性和测试覆盖率。但它须要你的git帐户,能对不一样分支进行检测。

如今你已经准备好进行重构(由于你的代码被测试覆盖了,对吗?)

相关文章
相关标签/搜索