レガシーコードからの脱却 まとめ – 12.6

12.6 循環複雑度を減らす

内容

循環複雑度はコードの実行経路の数。

条件分岐がなければ、循環複雑度は1。
条件分岐が1つの場合、異なる2つの経路があるので循環複雑度は2。
2つの場合は4、3つの場合は8。。。

循環複雑度は幾何級数的に大きくなる。
大きければ大きいほど条件パターンが増え、注意が行き届かなくなる場合があり、バグの発生率が高くなる。

なので少ないに越したことはない。

しかし、常に1にすることはできない。条件分岐を使わないことは実質ありえないからだ。
循環複雑度を減らすテクニックとして、インスタンスの生成やメソッドの利用にポリモーフィズムを使う。そうすることで、プログラム上の条件分岐がなくなる。

学び

  • 循環複雑度はバグの原因になるからなるべく減らそう。ポリモーフィズムを使っても減らすことができる。
  • 循環複雑度は常に1にはできないよ。

学びを活かすアイディア・行動

  • 現場のコーディング規約づくり。

kiyoshi.saito@tttsunagari.jp

アプリ開発をメインにWebアプリ開発をやってるフリーランスエンジニアです。

Leave a Reply

Your email address will not be published. Required fields are marked *