ロジックを考えるにあたって
プログラミングでロジックを考えた。
<ul> <li>名前</li> <li>性別</li> <li>住所</li> </ul>
これで、『性別と住所』がほしい。
だから、『2番目と3番目』を取得しようと考えた。
こう考えたら、ちょっと考え直してほしいというお話。
本当にほしいのはそれ?
さっき、おかしいと思わなかったでしょうか。
『性別と住所』がほしいはずです。
なので、『2番目と3番目』がほしいというのは、本来おかしいと思えるはずです。
実際に、バグが起こったりしやすいです。
例えば、もし仕様変更で、名前と性別の間に年齢が入ったら?
<ul> <li>名前</li> <li>年齢</li> <li>性別</li> <li>住所</li> </ul>
この時点でバグになりませんか?
こんなパターンがたくさんある度に修正するのでしょうか。
なので、正しい意味でプログラミングしましょう。
『性別と住所』でプログラムを書く
<ul> <li>名前</li> <li>年齢</li> <li class="gender">性別</li> <li class="adress">住所</li> </ul>
この状態で、いろいろ並び替えたり、追加した場合は?だいじょうぶですね。
このように、順番でやらないとと思った時は、名前がついてないとかの可能性があります。
あるいは、配列の場合。
["名前", "年齢", "性別", "住所"]
このままのデータだと困るかも知れませんが、
[ "name" => "名前", "age" => "年齢", "gender" => "性別", "address" => "住所" ]
このような配列だとソートしても、追加しても扱いやすいですね。
まとめ
- 順番で扱う時は、本当に順番で扱いたいか振り返る
- 順番以外方法ないと思った時は、名前付けを忘れてないか思い出す
- 本来やりたかった、正しい意味でプログラミングする
『手段』と『目的』を間違えないで、バグの少ないプログラミングを目指しましょうー