facebook twitter hatena line email

セキュリティ/静的解析/Sonar/複雑度計算式

提供: 初心者エンジニアの簡易メモ
2019年11月25日 (月) 15:35時点におけるAdmin (トーク | 投稿記録)による版 (Admin がページ「Sonar/複雑度計算式」を「セキュリティ/静的解析/Sonar/複雑度計算式」に、リダイレクトを残さずに移動しました)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

サイクロマティック複雑度サンプルコード(循環的複雑度

  • returnのないfunctionは初期値1
  • returnのあるfunctionは初期値0
  • ifで+1
  • ifのor,andごとに+1
  • switchのcaseごとに+1
  • forで+1
function exmaple() {
  if ($hoge || $fuga) {
  }
  switch ($hoge) {
  case 1:
    break;
  case 2:
    break;
  }
  foreach ($foge as $value) {
  }
  return 1;
}

2+2+1-1で4

ifについて

if ($hoge) {}
if ($fuga) {}

これは+2

if ($hoge) {
} elseif ($fuga) {
}

これは+2

if ($hoge) {
} else {
}

これは+1