ソフトウェアの保守性
可読性:理解が容易であるか?
変更性:変更が容易であるか?
試験性:デバッグが容易であるか?
SourceMonitor
コードの大きさ、複雑さを計測
コード行数の計測
コメント行数の計測
ステートメント数の計測
コメントや空白行を除く純粋なコード行数
{}(ブレース)も含まない
セミコロン+制御文の数と考えて良い
for文は3ステートメントでカウントされる
循環的複雑度(サイクロマティック数)の計測
制御構造に着目した複雑さのメトリクス
コードの複雑さを数値化する
分岐が多いコードほど大きな数値となる
↓5 単純な構造
↓10 良い構造
↑30 構造に疑問
↑50 テスト、デバッグ困難
↑75 変更時に誤修正を生む原因を作る
コーディング規約
複雑度10まで
1メソッド10ステートメントまで
1クラス100ステートメントまで
ネスト2段階まで
複合条件2つまで
フィールド4つまで
単語の意味
Depth:(意味)深さ:ネストの深さを表す
Complexity:(意味)複雑さ
Branches:(意味)枝:if, else, for, while, goto, break, continue, switch, case, default, return の割合
Calls:(意味)呼ぶ
Klocwork
最終更新:2013年03月08日 16:46