Visual Studio 2010のコードメトリクスを試してみた

ソースコードの品質向上のための効果的で効率的なコードレビュー
のスライドを見て感銘を受けたのでコードメトリクスを試したくなりました

http://www.tsunematsu.cc/2008/01/12/2136/
を経由して

ソースコードのメトリクス(品質測定)を行うツール - ふにゃるん
にたどり着き

Visual Studioの機能としてコードメトリクスが組み込まれているらしいと
会社のVS2010にもありました
使い方は簡単でメニューから選ぶだけ

こんな感じで余計なファイルも作られることもなく
通知ウィンドウに結果が表示されます

フィルター機能やエクスポート機能も付いて便利そうです
画像は保守容易性インデックスの0〜30でフィルタリングしてあります

評価項目

○保守容易性インデックス
総合評価。100点満点で値が高いほうが良い

○サイクロマティック数
分岐やループなどのネストの数。低いほうが良い
ネストが深いと見難いですからね

○継承の深さ
これはそのまま。低いほうが良い
標準コントロールを継承してるオブジェクトだと高い値が出ます

○クラス結合
どれだけ他のクラスを参照しているか。低いほうが良い
オブジェクト指向で言う所のモジュール結合度みたいなもんでしょうか

○コード行
コード内のステップ数。低いほうが良い

以上の項目を、モジュール毎、関数毎に評価してくれます

感想

最初に紹介したスライドでもある通り、初心者向けの教育的な評価手法っぽいです
大まかにみてさらっと掬っただけというか、これはできて当たり前というか…

その割にはインデックス20切ってる恥ずかしいコードもありますが
これはソースの長さに拠る所が多いかと

データベースの正規化の話でもありますが、
下手に分割しない方が良かったりするのでそこはケースバイケースでしょう

プログラミングの合間に気軽に評価できるので
今後のプログラミングの参考にしたいと思います