ソフトウェアメトリクス¶
ソフトウェアの作りがどうなっているかを、いくつかの数値化された指標(メトリクス)を元に判断する定量的可視化に使われます。
あくまで指標なので、幅広い指標を並べて総合的に判断する必要があります。しかし、特定の指標が悪い兆候を示すから即ソフトウェアが駄目だ、という短絡的な思考に使われがちですのでメトリクスの活用は注意が必要です。
サイクロマチック複雑度¶
ソフトウェアの制御フロー(分岐)の複雑さを表す指標です。この指標が大きいこととバグの数に相関があると研究報告があります。
サイクロマチック複雑度の簡易計測¶
簡易な計算としては、分岐を発生させるキーワードの登場個数に+1します。例えばJava言語の場合、次のキーワード(演算子)が表れた個数を数えます。
if while for case default continue catch && || ?: