しばしば三項演算子やdo-while構文が禁止されているコーディング規約に遭遇する。それは今すぐ撤廃すべきという論理武装を考えてみよう。事例はPHPだが、このことはすべての言語にいえる。 例 あるサービスから何らかのデータを取り出し、それをクライアント側で使うという手続きを考える。 ここで、サービス側のAPIとクライアント側のAPIに仕様ギャップがあったとしよう。$service は古く、うまく行かなかったとき例外ではなく null 的なもの(PHPではもしかするとfalseかもしれない)を返す習慣で作られていた。いっぽう $client は null を入力される想定がない。何もしないで欲しいときは空の array を入力する仕様だった。 以下の実装例を見てほしい。 <?php $data = $service->getSomeData(); if ($data === null ||