Visual Studio Tips集 |
Visual Basic 中学校 > Visual Studio Tips集 >
コードメトリックスを算出する
2023/1/15
この記事が対象とする製品・バージョン
![]() |
Visual Studio 2022 | ◎ | 対象です。 |
![]() |
Visual Studio 2019 | ◎ | 対象外です。 |
![]() |
Visual Studio 2017 | ○ | 対象ですが、画面や操作方法が少し異なるかもしれません。 |
![]() |
Visual Studio 2015 | ○ | 対象ですが、画面や操作方法が少し異なるかもしれません。 |
![]() |
Visual Studio 2013 | ○ | 対象ですが、画面や操作方法が少し異なるかもしれません。 |
![]() |
Visual Studio 2012 | (情報不足) | |
![]() |
Visual Studio 2010 | × | たしか対象外です。 |
![]() |
Visual Studio 2008 | × | たしか対象外です。 |
![]() |
Visual Studio 2005 | × | たしか対象外です。 |
![]() |
Visual Studio 2003 | × | 対象外です。 |
![]() |
Visual Studio (2002) | × | 対象外です。 |
Visual Studio Code | × | 対象外です。 |
概要
コードメトリックスを見るとプログラムの複雑性や保守性などを数値で把握できます。
サイクロマティック複雑度を中心としてコードメトリックスの詳細と、どうやって管理していけばよいかは下記の記事で説明しています。
プログラムでコードメトリックスを改善する具合的な方法は下記の記事で説明しています。この記事では保守容易性指数とサイクロマティック複雑度を具体的に改善する方法を示しています。
コードメトリックスを算出する
ソリューションエクスプローラーで対象のプロジェクトまたはソリューションを右クリックし、[分析とコードのクリーンアップ]-[コード メトリックスの計算]をクリックすることで、コードメトリックスを表示できます。
または、[分析]メニューの[コードメトリックスを計算する]からでも可能です。
コードメトリックスの結果ウィンドウの左上のボタンを押すと、プログラムを少しずつ修正しながらコードメトリックスの変化を確認するときに便利です。
参考:コードメトリックスの解釈
保守容易性指数
プログラムに機能を追加したり、バグを修正したりといったプログラムの保守作業のやりやすさを 0~100で表します。100が最良です。サイクロマティック複雑度やコードの行数、演算処理の量などを基に総合的に算出され、プログラムの全体的な品質を表しています。
マイクロソフトのサイトでは保守容易性指数の値について次の評価が記載されています。
保守容易性インデックス | 色 | プログラムの状態 |
---|---|---|
0~9 | 赤 | 深刻な問題があります |
10~19 | 黄 | 問題があります |
20~100 | 緑 | 健全 |
サイクロマティック複雑度
プログラムの分岐の多さを表します。最低1で、上限はありません。低い方が優秀です。
プログラムを健全に保つには高くても1メソッドあたり10~15に抑えましょう。
MaCabeのレポートとMathWorksのレポートをまとめるとサイクロマティック複雑度の評価は次の表のようになります。
McCabeのレポートの評価(※1) | MathWorksのレポートの評価(※2) | |||
---|---|---|---|---|
サイクロマティック 複雑度 |
複雑さの状態 | バグ 混入確率 |
複雑さの状態 | バグ 混入確率 |
1~10 | シンプルで、リスクはほとんどない。 | 5% | 非常に良い構造 | 25% |
11~20 | 少し複雑で、緩やかなリスクがある。 | |||
21~30 | 複雑で、高いリスクがある。 | 20% | ||
31~40 | 構造的なリスクあり | 40% | ||
31~50 | ||||
51~74 | テスト不可能。とても高いリスクがある。 | 40% | テスト不可能 | 70% |
75以上 | いかなる変更も誤修正を生む | 98% | ||
100 | 60% |