RubyCritic-一款不錯的檢測代碼質(zhì)量工具

最近在開發(fā)Cloud Insight? API時,發(fā)現(xiàn)一個可以檢測ruby代碼質(zhì)量的工具-RubyCritic。

RubyCritic 集成 Reek, FlayFlog這3個分析代碼的工具,對你的Ruby代碼進行靜態(tài)分析并生成質(zhì)量報告。

功能介紹

  1. 可以總覽你的項目,并且可以對代碼打分(百分制)


  2. 根據(jù)各自的壞味道數(shù)量建立文件索引

對不同文件按照改動頻率、復(fù)雜度、重復(fù)度壞味道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      基于最后目標(biāo)去除重復(fù)的符號鏈接
    --no-browser                不使用瀏覽器打開html格式的報告
    --suppress-ratings          壓制質(zhì)量評級 
-v, --version                   顯示版本號
-h, --help                      顯示幫助信息

運行

  bundle exec rubycritic

的效果如下圖:

從上圖也能看出rubycritic分析代碼流程。

其他用法

平時使用guard工具的同學(xué), 可以使用guard-rubycritic, 代碼改動時會自動分析你的代碼。
有興趣的同學(xué)也可以將它集成到Jenkins CI

擴展功能

在使用rubycritic過程中, 每次都要手動打開瀏覽器進行查看質(zhì)量報告,太麻煩了。于是給它添加一個功能

目前僅支持Linux和Mac OSX系統(tǒng):

支持Linux瀏覽器: Firefox(默認)ChromeChromium

支持Mac OSX瀏覽器: Safari(默認)ChromeFirefox

運行步驟

  • 修改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:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容