連想配列への代入は一括でやった方がいいと思う
2020-03-26追記
もっと単純に、一つの操作を複数に分けるな、って話でよかったね。
<?php $assoc1['key1'] = 'val1'; $assoc1['key2'] = 'val2'; $assoc1['key3'] = 'val3'; $assoc2 = [ 'key1' => 'val1', 'key2' => 'val2', 'key3' => 'val3', ];
上記のような場合に、$assoc1
の方法より$assoc2
の方法がいいと思う。まあ昔からずっと思っていたのだが最近$assoc1
の方法で書かれたコードを読んで書き直してとすることがあって再度思って、でもそれはなぜかと聞かれても即答できなそうだったのでちょっと考えた。
まあ単純な話で、
$assoc1
の場合は、変数が3回出現しており、その分変数名に間違えがないか(1つ$assocl
があったらどうする)、追加で確認しなければならない。$assoc1
の場合は、代入演算子も3回出現しており、その分よく見ると別の演算子(+=
とか)だったりしないか、追加で確認しなければならない。
ということで、あらゆる繰り返しと同様、同じことなのに別々に書くと別々に確認しなければならないので、まとめた方がいいというそれだけの話。もちろん確認だけではなく、変更のときもその分変更が増えるよね。
これで今後$assoc1
の書き方をしている人がいたら、ちゃんと根拠を持って注意できる。
ちなみにあまりに当たり前で普通のことだからか、リーダブルコードにもCode Completeにもこの辺に関する説明はなかったと思う。