最近在開發(fā)Cloud Insight? API時,發(fā)現(xiàn)一個可以檢測ruby代碼質(zhì)量的工具-RubyCritic。
RubyCritic 集成 Reek, Flay 和 Flog這3個分析代碼的工具外莲,對你的Ruby代碼進行靜態(tài)分析并生成質(zhì)量報告队贱。
功能介紹
-
可以總覽你的項目,并且可以對代碼打分(百分制)
根據(jù)各自的壞味道數(shù)量建立文件索引
對不同文件按照改動頻率
欣除、復雜度
任斋、重復度
和壞味道
4個維度進行綜合評定代碼質(zhì)量等級
3. 可以查看具體的類文件中的代碼質(zhì)量問題
用法
看一下rubycritic(2.7.0)指令
rubycritic --help
Usage: rubycritic [options] [paths]}
-p, --path [PATH] 設(shè)置質(zhì)量報告存放的路徑(默認: tmp/rubycritic)
-f, --format [FORMAT] 設(shè)置報告格式:
html (默認)
json
console
-s, --minimum-score [MIN_SCORE] 設(shè)置最小分數(shù)
-m, --mode-ci 使用CI模式(更快,但僅分析最后一次提交)
--deduplicate-symlinks 基于最后目標去除重復的符號鏈接
--no-browser 不使用瀏覽器打開html格式的報告
--suppress-ratings 壓制質(zhì)量評級
-v, --version 顯示版本號
-h, --help 顯示幫助信息
運行
bundle exec rubycritic
的效果如下圖:
從上圖也能看出rubycritic分析代碼流程耻涛。
其他用法
平時使用guard工具的同學, 可以使用guard-rubycritic, 代碼改動時會自動分析你的代碼。
有興趣的同學也可以將它集成到Jenkins CI瘟檩。
擴展功能
在使用rubycritic
過程中, 每次都要手動打開瀏覽器進行查看質(zhì)量報告抹缕,太麻煩了。于是給它添加一個功能
目前僅支持Linux和Mac OSX系統(tǒng):
支持Linux瀏覽器: Firefox(默認)
墨辛、Chrome
和 Chromium
支持Mac OSX瀏覽器: Safari(默認)
卓研、Chrome
和 Firefox
運行步驟
- 修改Gemfile
gem 'rubycritic', github: 'superiorlu/rubycritic', branch: 'open_with_browser'
- 運行
rubycritic -O chrome
即可。
源代碼:https://github.com/superiorlu/rubycritic/tree/open_with_browser
總結(jié)
本文簡單介紹了rubycritic
和用法, 可能某些知識點會有所遺漏睹簇,不足之處請大家指正奏赘。
更新(2016.01.29)
目前rubycritic
已經(jīng)更新到了2.7.0
, 已經(jīng)默認使用瀏覽器打開html格式的報告了。:smile: