重複コード
同じソースコードの中で何度も現れるコード
重複コード(ちょうふくコード、英: duplicate code)とは、ソースコード中に存在する同一、もしくは類似した部分のことである。コードクローンとも呼ばれる。
重複コードが引き起こす問題
編集重複コードは、ソフトウェア保守を困難にする要因の一つである。その理由は、あるコードを修正したなら、そのコードの重複コード全てに対して修正の検討を行う必要があるからである。例えば、あるコードにバグが見つかった場合、そのコードの重複コード全てに対してバグの有無を確認する必要がある。特に大規模ソフトウェアは重複コードの数が多い可能性が高いため、保守作業において重複コードが大きな問題となりやすい。
このような問題を解決するには、重複しているコードをサブルーチンなどとして括りだし、重複を解消する必要がある。
重複コードの自動検出・分析を行う手法・ソフトウェア
編集1990年代後半から、主にソフトウェア工学の一環として、重複コードを検出する手法の研究が盛んに行われている[1]。 ソフトウェア工学の分野では、重複コードは主にコードクローンと呼ばれる[1]。
国内で開発された重複コードの検出を行うツールとしては、産業技術総合研究所の神谷年洋が開発したCCFinderX[2]が挙げられる。2009年8月時点では、CCFinderXは無償で公開されており、http://www.ccfinder.net/ からダウンロードすることができる。また、大阪大学の井上克郎教授が率いるソフトウェア工学講座では、統合コードクローン分析環境ICCAを開発している[3]。
参考文献
編集- ^ a b 肥後芳樹,楠本真二,井上克郎: コードクローン検出とその関連技術,電子情報通信学会論文誌D, Vol.J91-D, No.6, pp.1465-1481, 2008年6月
- ^ http://www.ccfinder.net/
- ^ http://sel.ics.es.osaka-u.ac.jp/icca/