MOONGIFT

オープンソース・フリーウェアを毎日紹介するブログ。日々の業務の効率化、新しいサービスのネタ探しにどうぞ。SNS、SBS、CMS、オフィス、画像編集、ユーティリティ、Firefoxアドオン、テキストエディタ、ゲーム…ジャンルは様々。

Rubyのリファクタリングのお供に「flay」

タグ: [] [] [] [] [] [] []

buzz_button

flayはRuby製のオープンソース・ソフトウェア。最近のプログラミングではDRYという言葉が有名だ。Don’t repeat yourself、つまり同じことは繰り返さないことが大事だ。コピー&ペーストしたコードがどんなに酷いものか言うに及ばないが、繰り返しを省くことでコードがすっきりしバグの入り込む余地も減らせるようになる。

スクリーンショット(2010-01-08 12.05.06).png
修正前のスコアは38、修正して0に!

 

とは言え開発が継続的に行われていると徐々に同じようなコードも増えてくる。そこで行いたいのがリファクタリングだ。そのためにはまずはコードのチェックをするのが良いだろう。flayはまさにそのためのソフトウェアになる。

flayにファイルを渡すと内部を解析し、似たような箇所をリストアップしてくれる。結果はスコアにしてくれる。0が最も低い(重複していそうな箇所がない)数字で、上がっていくごとに重複が散見されるようになる。ディレクトリ全体で行えば複数ファイル間のチェックも行われる。

差分を表示する機能もあるので重複しているとおぼしき部分も見つけやすい。事前にユニットテストを書いておいてエラーが出ない状態にしつつリファクタリングを進めればDRYに沿った奇麗なコードになっていくだろう。バグを減らすためにも取り組みたい施策の一つだ。

執筆時のバージョン
 1.4.0

 

seattlerb’s flay at master - GitHub
 http://github.com/seattlerb/flay

January 12th, 2010 Posted by admin | 1コメント

1 Comment »

  1. こちらのURL http://ruby.sadi.st/Flay.html も紹介したあげると、gem でもインストールできることが判っていいと思います。
    あと、ruby2ruby も併せてインストールしないと -d が使えないようです。

    Comment by ef | 2010/01/14 Thursday

Leave a comment

MOONGIFTネットワーク。こちらもぜひご覧ください。
MOONGIFT
Open Service
Rails 2.0
Resident on Net
iPhone最適化
リーンソフトウェア
MarketPedia
Producing Web
Cool Coding