世の中には"たまたまそうなっている値"に対して、安易な対応を行い、変更に弱くなったロジックが存在します。 この項では意味に対して明確な定義を行い、ロジックと分離する事で、仕様変更に強い状況を作りだせる事を解説します。 結論 ロジックと定義は明確に切り分けましょう。 なお、定義変更時、ロジックに影響があった場合、適切な切り分けが行われていない事を示します。 仕様の変遷による解説 都道府県表示: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
![意味定義への異常な愛情 ~または私は如何にして心配するのを止めて定義変更を愛するようになったか~ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/899adbd4c771881efab96b0c13cde0ab42082367/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUU2JTg0JThGJUU1JTkxJUIzJUU1JUFFJTlBJUU3JUJFJUE5JUUzJTgxJUI4JUUzJTgxJUFFJUU3JTk1JUIwJUU1JUI4JUI4JUUzJTgxJUFBJUU2JTg0JTlCJUU2JTgzJTg1JTIwJUVGJUJEJTlFJUUzJTgxJUJFJUUzJTgxJTlGJUUzJTgxJUFGJUU3JUE3JTgxJUUzJTgxJUFGJUU1JUE2JTgyJUU0JUJEJTk1JUUzJTgxJUFCJUUzJTgxJTk3JUUzJTgxJUE2JUU1JUJGJTgzJUU5JTg1JThEJUUzJTgxJTk5JUUzJTgyJThCJUUzJTgxJUFFJUUzJTgyJTkyJUU2JUFEJUEyJUUzJTgyJTgxJUUzJTgxJUE2JUU1JUFFJTlBJUU3JUJFJUE5JUU1JUE0JTg5JUU2JTlCJUI0JUUzJTgyJTkyJUU2JTg0JTlCJUUzJTgxJTk5JUUzJTgyJThCJUUzJTgyJTg4JUUzJTgxJTg2JUUzJTgxJUFCJUUzJTgxJUFBJUUzJTgxJUEzJUUzJTgxJTlGJUUzJTgxJThCJUVGJUJEJTlFJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1jYjg2NmE4ZGUxNmUxZTI0ZGM4OTJiYWM5ODY1MDcyNg%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBQcm9qZWN0SUNLWCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZWEwNTk5MmY4Mjk1NmVkZWMzNzNhNWU4MmExYWM0NmU%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4gUHJvamVjdCBJQ0tY%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%2523212121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3D584820eb9f7b8be86a4790352cc20f2a)