世の中には"たまたまそうなっている値"に対して、安易な対応を行い、変更に弱くなったロジックが存在します。 この項では意味に対して明確な定義を行い、ロジックと分離する事で、仕様変更に強い状況を作りだせる事を解説します。 結論 ロジックと定義は明確に切り分けましょう。 なお、定義変更時、ロジックに影響があった場合、適切な切り分けが行われていない事を示します。 仕様の変遷による解説 都道府県表示:block 1 都道府県コードが与えらた場合に都道府県名を表示する 変更に弱いロジック //定義 class Pref { const PREF_CD_HOKKAIDOU = '1'; ~中略~ const PREF_CD_OKINAWA = '47'; public function getName ($pref_cd) { if ($pref_cd == self::PREF_CD_HOKKAIDO