重複コード

重複コード（ちょうふくコード、）とは、ソースコード中に存在する同一、もしくは類似した部分のことである。コードクローンとも呼ばれる。

重複コードが引き起こす問題 
重複コードは、ソフトウェア保守を困難にする要因の一つである。その理由は、あるコードを修正したなら、そのコードの重複コード全てに対して修正の検討を行う必要があるからである。例えば、あるコードにバグが見つかった場合、そのコードの重複コード全てに対してバグの有無を確認する必要がある。特に大規模ソフトウェアは重複コードの数が多い可能性が高いため、保守作業において重複コードが大きな問題となりやすい。

このような問題を解決するには、重複しているコードをサブルーチンなどとして括りだし、重複を解消する必要がある。

重複コードの自動検出・分析を行う手法・ソフトウェア  

1990年代後半から、主にソフトウェア工学の一環として、重複コードを検出する手法の研究が盛んに行われている。 ソフトウェア工学の分野では、重複コードは主にコードクローンと呼ばれる。

国内で開発された重複コードの検出を行うツールとしては、産業技術総合研究所の神谷年洋が開発したCCFinderXが挙げられる。2009年8月時点では、CCFinderXは無償で公開されており、http://www.ccfinder.net/ からダウンロードすることができる。また、大阪大学の井上克郎教授が率いるソフトウェア工学講座では、統合コードクローン分析環境ICCAを開発している。

参考文献

関連項目 
 Don't repeat yourself

プログラミング
アンチパターン