关注代码质量是高效开发必须要做的一件事,那么在 ruby 开发的过程中,是否有什么好的代码质量检测工具呢?下面由 ruby 工程师路英瑞介绍一下 rubycritic——一款还不错的代码质量检测工具。
最近在开发 cloud insight api(一款能够优雅监控多种操作系统、数据库、中间件、云主机的解决方案) 时,发现一个可以检测 ruby 代码质量的工具-rubycritic。
rubycritic 集成 reek, flay 和 flog 这3个分析代码的工具,能够对你的 ruby 代码进行静态分析并生成质量报告。
可以总览项目,并且可以对代码打分(百分制).
2.根据各自的坏味道数量建立文件索引
对不同文件按照改动频率、复杂度、重复度和坏味道4个维度进行综合评定代码质量等级。
3.可以查看具体的类文件中的代码质量问题
看一下<code>rubycritic(2.7.0)</code>指令:
-p, --path [path]
设置质量报告存放的路径(默认: tmp/rubycritic)
-f, --format [format]
设置报告格式:
html (默认)
json
console
-s, --minimum-score [min_score]
设置最小分数
-m, --mode-ci
使用 ci 模式(更快,但仅分析最后一次提交)
--deduplicate-symlinks
基于最后目标去除重复的符号链接
--no-browser
不使用浏览器打开html格式的报告
--suppress-ratings
压制质量评级
-v, --version
显示版本号
-h, --help
显示帮助信息
运行<code>bundle exec ruby critic</code>的效果如下图:
从上图也能看出 rubycritic 分析代码流程。
平时使用 guard 工具的同学, 可以使用<code>guard-rubycritic</code>, 代码改动时会自动分析你的代码。有兴趣的同学也可以将它集成到 jenkins ci。
在使用 rubycritic 过程中, 每次都要手动打开浏览器进行查看质量报告,太麻烦了。于是给它添加一个功能:
目前仅支持 linux 和 mac os x 系统:
支持 linux 浏览器: firefox(默认)、chrome 和 chromium
支持 mac os x 浏览器: safari(默认)、chrome 和 firefox
修改 gemfile
运行<code>rubycritic -o chrome</code>即可。
点此阅读源代码
本文简单介绍了 rubycritic 和用法, 可能某些知识点会有所遗漏,不足之处请大家指正。
*更新(2016.01.29)
目前 ruby critic 已经更新到了 2.7.0, 已经默认使用浏览器打开 html 格式的报告了。* :)
**本文系国内 itom 行业领军企业 oneapm ruby agent (ruby 应用性能监控神器)工程师路英瑞原创,转自路英瑞简书。