エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【プログラミング】数字や順番を使ってロジックを組むときに考えること【907日目】

ロジックを考えるにあたって

プログラミングでロジックを考えた。

<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" => "住所"
]

このような配列だとソートしても、追加しても扱いやすいですね。

まとめ

  1. 順番で扱う時は、本当に順番で扱いたいか振り返る
  2. 順番以外方法ないと思った時は、名前付けを忘れてないか思い出す
  3. 本来やりたかった、正しい意味でプログラミングする

『手段』と『目的』を間違えないで、バグの少ないプログラミングを目指しましょうー