いかに条件分岐を減らすように実装するかという営み
プログラミング、いかに条件分岐を減らすように実装するかという営みという感じするmrsekut.icon
たぶん過言だが
微妙な抽象化をしても例外が起きすぎて結局条件分岐が増える
筋の良い抽象化を施すことで、余計な分岐を減らせる
抽象を外れた要件を追加するとき、
トーナメントのシードのように上位のところから例外を書いたほうが条件分岐が減る
どちらが複雑性を増やさない書き方なのかを考える
polymorphismは明示的な条件分岐を増やさずに、同等のことを実現できる機能と言える
入力の型を厳格にすることでhandlingを避けるとか
エラーを減らすために解釈を変えるとか
新たな要件が見つかるたびに0から構成し直すとか