プログラミングをコピー&ペーストで作ったものはスパゲティーになりやすい。コピー&ペースト自体には問題がなく、それを行うプログラマーのレベルに問題があるという話もあるが、大抵そうなる。

ピクチャ 105.png

ソースコードを検索して類似ポイントを洗い出す

 

コピー&ペーストに限らないが、修正などによって徐々に肥大化したソースコードは適切にリファクタリングしてやれば可読性が高まり、システムとしての寿命も延び、さらなる機能追加が素早くできるようになる。その手助けになるのがUniqueだ。

今回紹介するオープンソース・ソフトウェアはUnique、ソースコード類似ポイント検索ソフトウェアだ。

Uniqueは指定したファイルまたはディレクトリ以下にあるプログラミングソースについて検索を行い、類似ポイントをスコア評価してくれるソフトウェアだ。もちろんスコアの高い部分は似ていると思われる場所になるのでリファクタリングの対象になるだろう。

ピクチャ 106.png

Rubyの検索も可能

UniqueはPythonでできているが、検索対象のプログラミング言語は問わないようだ。なお、似ていると評価されたとしてもそれは構文や書き方が似ているだけという可能性もあるので実際のリファクタリングは各自の判断が必要だろう。

wxWidgetを使っており、Windows、Mac OSX、Linuxとマルチプラットフォームで動作する。が、いかんせん不安定なようだ(Mac OSX版に限るかもしれないが)。よりシステムを良くするためにもぜひ試して欲しいソフトウェアだ。

 

**SourceForge.net: unique

 **
http://sourceforge.net/projects/unique/