[Ruby] flay
1.4.0が公開されました(ruby-talk:343901)。
コードの構造が同じかどうかを判定するツール。
一部のメソッド名の変更など4つの改訂。
試してみた。
$ sudo gem install flay
$ cat fuga.rb
def hoge(i)
(1..i).to_a.each do |k|
puts k
end
end
def fuga(i)
(1..i).to_a.each do |k|
puts k
end
end
hoge(5)
fuga(5)
$ flay fuga.rb
flay.rb:171:in `block in process_sexp': undefined method `<' for nil:NilClass
ということで ruby 1.9.2dev (2009-08-14 trunk 24537) [i686-linux] ではエラーになってしまった。
ちなみに、flay 1.3.0 だとこうなります。
$ flay fuga.rb
Total score (lower is better) = 32
1) Similar code found in :defn (mass = 32)
fuga.rb:1
fuga.rb:7
つまり、hoge と fuga は同じ構造のメソッドだということですね。
| 固定リンク
この記事へのコメントは終了しました。
コメント