分岐の怖さ
- 人間の頭では3階層程度が限界
- 私は2階層が限界
- (そもそもの話)ネストが深いプログラムは読みにくい(多くの前提を読み手に課す)
分岐は大切!
- 分岐のないプログラムはほぼ存在しない
- プログラマの腕の見せ所は分岐を(見かけ上)いかに減らすかと言っても過言ではない
いや、ちょっと過言かも
分岐の減らし方:基本的方針
- 関数1つの中での分岐を1~2階層にとどめる
- 関数の組み合わせで多数のパターンを実現する
重要なメリットは減らした分岐それぞれでテストできること!
- 状況を限定する
- フラグは忌避
- 早期リターン(疑似分岐減少)
- 不要なチェックはしない
- メソッド化 ←罠多い
アンチパターン
- 似ているが異なる処理の共通化
- 引数でフラグを渡している
関数の中が巨大なswitchになっているケース