条件網羅できてない設計に対する実装

もうね、アホかと。

別チームが決めた条件分岐に対して if() if() if()... と分けて実装しようとしている。

データは単一の条件にのみ該当するのが理想。
しかしこの条件分岐には欠陥がある。
複数の条件に合致したり、どの条件にも該当しない。そこまで判明してて実装方法は変えない。

実装を変えないのであれば重複と欠落、本来該当すべき条件にならないデータの存在を許容するか、相互に排他的な条件となるように見直しを仰ぐべき。

どの手段もとらず、全データを処理すべきならば if () elseif () else とするのが安全。結果はヒットした順で処理されるため優先度の策定は不可避だが、なによりも重複と欠落は発生しない。存在しないデータよりも存在するデータからの原因究明の方が低コスト。この手法の方がアドバンテージあるようにみえる。

なのに今の現場では if() if() の実装を避けず、重複は個別に排除し、欠落データのハンドリングも行わない。仕様の見直しも行わない。

保守フェイズでの炎上っぷりは、字面の通り火を見るよりも明らか。

さっさと離脱したいなー。