Ruby - コードの不吉な部分を調べる(reek)
Ruby のコード中のエラーやバグ(を生みそうな)部分を検出してくれるツールが reek です。
インストール
gem でインストールします。最新版は 1.3.3 です。
$ gem install reek
使い方
reek コマンドを使います。引数にファイルまたはディレクトリを指定します
$ reek demo.rb
demo.rb
class Demo
def count
lists = [1,2,3,4,5,6,7]
twice_lists = @lists.map { |w| w.each { |key| key *= 2 } }
puts twice_lists
end
end
reek コマンドの出力結果
demo.rb -- 3 warnings:
Demo has no descriptive comment (IrresponsibleModule)
Demo#count contains iterators nested 2 deep (NestedIterators)
Demo#count has the variable name 'w' (UncommunicativeVariableName)
応用
Rakefileで自動化する
reekには、rakeを使ってソースツリーをチェックするタスクが用意されています。
require 'reek/rake/task'
Reek::Rake::Task.new do |t|
t.fail_on_error = false
end
実行例1:lib/以下にある*.rbをチェックする. (lib/demo.rb)
$ rake reek
実行例2:特定のソースファイルをチェックする
$ rake reek REEK_SRC=just_one_file.rb
Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE)
- 作者: 島田浩二,設樂洋爾,村田賢太,前田智樹,谷口文威
- 出版社/メーカー: 翔泳社
- 発売日: 2009/07/25
- メディア: 単行本(ソフトカバー)
- 購入: 16人 クリック: 349回
- この商品を含むブログ (76件) を見る