Visual Studioにはコードの品質を手軽にチェックできるコード分析機能が搭載されているらしいので、さっそく使ってみようとメニューを探してみたのだが見つからない。よく調べてみると、コード分析機能はVisual Studio 2010ではPremium以上のエディションでしか使えないようだ。(Professionalで使えてもいいのに…)
そこで、別の方法を探ってみたところ、Visual Studio Code Metrics PowerTool を使うと同様の分析をProfessionalでも行うことができるというので早速、使ってみた。
手順
1.Visual Studio Code Metrics PowerTool 10.0 をMicrosoftのサイトからダウンロード
2.実行ファイルを起動してインストールする
3.Visual Studio を起動して拡張機能マネージャを開く
4.拡張機能 「Code Metrics Viewer 2010」をインストールし、Visual Studioを再起動
5.ソリューションエクスプローラよりソリューションを右クリック→Code Metrics Viewerをクリック
6.出てきた画面の左上にある"Analyze Solution"をクリックすると自動的に分析、レポートが表示される。
ためしに、Systemaのコードを分析させてみた結果がこちら。
各項目の意味は以下の通り
Maintainability Index: 保守容易性。100点に近いほど良い。
Cyclomatic Complexity: サイクロマティック複雑度。簡単に言えば、コードの分岐の数。
Class Coupling: クラス結合度。そのクラスが他のクラスにどれくらい依存しているか。
Depth of Inheritance: クラスの継承の深さ。
Lines of Code: コードの行数。この数字はエディタ上でのコードの行数ではなく、コンパイル後のILの行数らしい。
Maintainability Indexが全てグリーンだったので、どうやらSystemaのコードは今のところ綺麗ということらしい。
Cyclomatic Complexityが一部3ケタになっているが大丈夫か?ちなみに麻雀のゲーム進行を制御する部分のCyclomatic Complexityは127だった。麻雀のルールが複雑であるという証拠だろう。
Class Couplingがイエローになっている部分が多い。このゲームをWindows Phoneに移植するときは大変だろう。
Depth of Inheritanceがレッドになっているが、全部.NETのフォームクラスだ。Microsoftの自虐か?
とまあ、こういう具合にコードの品質が分かって便利なのでProfessionalをお持ちの方は使ってみては如何だろうか。
最後に、Visual Studio Code Metrics PowerTool 10.0 自体はExpress Editionでも使用可能である。
ただし、コマンドプロンプトから操作する必要がある上に出力がxml形式で非常に見づらいという致命的な欠点がある。
暇があったら簡易的なビューアーでも作ってみようかな
0 件のコメント:
コメントを投稿