ゆうなんとかさんの雑記帳的な。

Twitterで踊ったり音ゲーしたりしてるあの名前がよくわからない人が書いてるらしいよ。

コードメトリクスを測ってみた

VisualStudioにはコードメトリクスを測る機能がついています。
これを使うと、自分の書いたコードがどれだけ保守しやすいか調べることができます。今書いているコードが果たしてどれほどきれいにかけているのか、限定的とはいえ客観的に知ることができるものです。

つかいかた

Ctrl+Qでクイック検索→「メトリックス」と打ち込む→「ソリューションのコード メトリックスを計算する」を選択

以上。簡単ですね♡(白目 項目が出なかった人はお布施が足りませんしばらくすると結果が表示されます。
f:id:yuu_xxxx:20131112192241p:plain
ソリューション全体からプロジェクト全体、名前空間全体、クラス、メソッドやプロパティまで、様々な粒度で結果を確認できます。ちなみに上のソリューションはやたら高得点ですが、まだ作ったばかりだからです。

結果の見方

保守容易性インデックス
100点満点の総合評価です。これが低いほどひどいコードだそうです。最初のうちはこれだけ見ておけばよさそうですね。ちなみに満点を取りたければ1~2行で終わらせないといけないようです。超ハードです。
サイクロマティック複雑度
分岐やループがネストしているほど数が増えます。幾重にも重ねられたインデントは早めに解消するようにと警告してくれるわけですね。メソッドレベルでは3~5くらいになるようにおさえましょう。たぶん5は多いほうです。
継承の深さ
見たまんまです。Objectクラスからどれだけ継承されているかの回数が表示されます。当たり前ですが少ないほうがいいですね。GUIのビュークラスは継承が深いのでどうしても大きい数になりがち。
クラス結合
ほかのクラスをどれだけ参照しているかが表示されます。これも少ないほうが依存度が低いということですからいい傾向ですね。
コード行
これも見たまんまコードの行数です。たいていの場合少なければ少ないほど簡潔でいいコードですが、やりすぎにはご注意。