C/C++testの静的解析の1つに重複コード検出機能があります。この機能を用いて、一括でコピーコードを検出しましょう。
このページの内容:
解析実行手順
[プロジェクト・エクスプローラー]ビュー上のプロジェクトを選択した状態で、[青い三角アイコン横の▼]>[テストの実行]>[ユーザー定義]>[Static Analysis]>[3 3_Find Duplicated Code_(チュートリアル)]を選択します。緑の進捗バーが表示され、左から右に到達すると解析が完了になります。
※バージョンにあったテストコンフィギュレーションを用意しています。
[品質タスク]ビューに解析結果が表示されます。
解析結果の見方
解析結果は、[品質タスク]ビューに表示され、下図に示す3つのポイントで確認します。
また、[品質タスク]ビュー上で「違反が検出されたソースファイル行」をダブルクリックすると、[比較]エディタが表示され、重複しているコード内容を確認することができます。
Image RemovedImage Added重複コード検出機能 運用ワンポイント アドバイス
重複コード自体は、バグではありません。しかし、バグのあるコードをコピーし使いまわしてしまった場合、バグをちりばめる行為になります。また、コード量を余分に増やす行為であるため、メモリの使用量やテスト工数を余分に消費する事にもなります。
そのため重複コード検出結果から、少なくとも「関数の重複」が存在する場合、リファクタリングする事をお勧めします。