条件網羅できてない設計に対する実装
もうね、アホかと。
別チームが決めた条件分岐に対して if() if() if()... と分けて実装しようとしている。
データは単一の条件にのみ該当するのが理想。
しかしこの条件分岐には欠陥がある。
複数の条件に合致したり、どの条件にも該当しない。そこまで判明してて実装方法は変えない。
実装を変えないのであれば重複と欠落、本来該当すべき条件にならないデータの存在を許容するか、相互に排他的な条件となるように見直しを仰ぐべき。
どの手段もとらず、全データを処理すべきならば if () elseif () else とするのが安全。結果はヒットした順で処理されるため優先度の策定は不可避だが、なによりも重複と欠落は発生しない。存在しないデータよりも存在するデータからの原因究明の方が低コスト。この手法の方がアドバンテージあるようにみえる。
なのに今の現場では if() if() の実装を避けず、重複は個別に排除し、欠落データのハンドリングも行わない。仕様の見直しも行わない。
保守フェイズでの炎上っぷりは、字面の通り火を見るよりも明らか。
さっさと離脱したいなー。