12.6 循環複雑度を減らす
内容
循環複雑度はコードの実行経路の数。
条件分岐がなければ、循環複雑度は1。
条件分岐が1つの場合、異なる2つの経路があるので循環複雑度は2。
2つの場合は4、3つの場合は8。。。
循環複雑度は幾何級数的に大きくなる。
大きければ大きいほど条件パターンが増え、注意が行き届かなくなる場合があり、バグの発生率が高くなる。
なので少ないに越したことはない。
しかし、常に1にすることはできない。条件分岐を使わないことは実質ありえないからだ。
循環複雑度を減らすテクニックとして、インスタンスの生成やメソッドの利用にポリモーフィズムを使う。そうすることで、プログラム上の条件分岐がなくなる。
学び
- 循環複雑度はバグの原因になるからなるべく減らそう。ポリモーフィズムを使っても減らすことができる。
- 循環複雑度は常に1にはできないよ。
学びを活かすアイディア・行動
- 現場のコーディング規約づくり。