RubyCriticは複数の静的解析 gem ( Reek, Flay, Flog)をラップしたツールです。
下記記事で紹介した metric_fu と似たようなツールですね。
インストール
$ gem install rubycritic
デモ
tbpgr/kosi リポジトリに対して実行してみます。
$ rubycritic running flay smells ...... running flog smells ........................ running reek smells ........................ running complexity ........................ running attributes ........................ running churn ........................ New critique at /path/to/repo/tmp/rubycritic/overview.html
結果の確認
実行直後に自動でブラウザに結果が表示されます。
- Overview
- Code
ソースコードごとの警告の数や複雑度や評価(Rating)が一覧表示される。
- Smells
コードの臭いが存在する箇所が一覧表示される。
- Details
Smellsで対象コードのリンクを押した際に開かれる画面。
コードの中に警告内容がインラインで表示される。
警告名のリンクを選択すると、警告解説記事にジャンプする。
各静的解析ツール
名前 | 内容 | Repo |
---|---|---|
Reek | コードの臭いの抽出 | |
Flay | コードの重複部を検出。共通化に役立つ | |
Flog | コードの複雑度を測定 |
関連
simplecov, brakeman, rubocop, rubycritic + Circle CI の設定例