天天看点

RubyCritic:一款不错的检测代码质量工具

关注代码质量是高效开发必须要做的一件事,那么在 ruby 开发的过程中,是否有什么好的代码质量检测工具呢?下面由 ruby 工程师路英瑞介绍一下 rubycritic——一款还不错的代码质量检测工具。

最近在开发 cloud insight api(一款能够优雅监控多种操作系统、数据库、中间件、云主机的解决方案) 时,发现一个可以检测 ruby 代码质量的工具-rubycritic。

rubycritic 集成 reek, flay 和 flog 这3个分析代码的工具,能够对你的 ruby 代码进行静态分析并生成质量报告。

可以总览项目,并且可以对代码打分(百分制).

RubyCritic:一款不错的检测代码质量工具

2.根据各自的坏味道数量建立文件索引

对不同文件按照改动频率、复杂度、重复度和坏味道4个维度进行综合评定代码质量等级。

RubyCritic:一款不错的检测代码质量工具

3.可以查看具体的类文件中的代码质量问题

RubyCritic:一款不错的检测代码质量工具

看一下<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:一款不错的检测代码质量工具

从上图也能看出 rubycritic 分析代码流程。

平时使用 guard 工具的同学, 可以使用<code>guard-rubycritic</code>, 代码改动时会自动分析你的代码。有兴趣的同学也可以将它集成到 jenkins ci。

在使用 rubycritic 过程中, 每次都要手动打开浏览器进行查看质量报告,太麻烦了。于是给它添加一个功能:

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 应用性能监控神器)工程师路英瑞原创,转自路英瑞简书。

继续阅读