Clone DiggerはPython製のオープンソース・ソフトウェア。プログラミングコードは開発が進むにつれて徐々に汚くなっていく。これは部屋が汚れるようなもので致し方ないだろう。大事なのは定期的に掃除をすることだ。プログラミングコードで言えばリファクタリングがこれにあたる。

Screen-shot 50.png

レポート

 

リファクタリングを適切に行えば重複するコードが減り、可読性が良くなる。同じような関数があれば統合することもできるだろう。リファクタリングを行う上でアイディアを出してくれるのがClone Diggerだ。

Clone DiggerはPythonとJavaに対応し、似通ったコードを抽出してくれる。プロジェクト全体が多数のファイルに渡っていても、Clone Diggerが全体を洗い出した上でリストアップする。結果はHTMLファイルで出力する。

Screen-shot 52.png

重複している、または似ている箇所が分かる

 

改行や空白は無視されるようになっている。Eclipseプラグインもあるので、Java開発者は便利に使えるだろう。重複するコードが一切ない方が良いという訳ではないだろうが、リファクタリングする上での題材として使えることだろう。

 

Clone Digger | Clone Examples |

 http://clonedigger.sourceforge.net/