天天看點

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 應用性能監控神器)工程師路英瑞原創,轉自路英瑞簡書。

繼續閱讀