重複コード

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

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

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

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

1990年代後半から、主にソフトウェア工学の一環として、重複コードを検出する手法の研究が盛んに行われている肥後芳樹，楠本真二，井上克郎: コードクローン検出とその関連技術，電子情報通信学会論文誌Ｄ, Vol.J91-D, No.6, pp.1465-1481, 2008年6月。 ソフトウェア工学の分野では、重複コードは主にコードクローンと呼ばれる。

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

 参考文献 

 関連項目 
 Don't repeat yourself

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