Analytics

2010年4月15日木曜日

コーディングルール

新人の部下のソースコードレビューをしていたら
if (TRUE === $a) {
と、書かれていました。
「変数を右オペランドにするのはくせ?」と尋ねたところ
「比較演算子の時は、必ずこのように書きます」とのこと
「なぜ」と理由を尋ねると
「==などをタイポして=(代入演算子)にしてしまった場合にエラーになるからです。」
なんと!目からうろこです
評価対象が長い文字列などで、連続してさまざまな評価をしなくてはならない場合に可読性がやや落ちる気はしますが、ケアレスミスを防ぐ確率を考えると、すばらしいノウハウだと思いました。
10年近くコーディングをしていますが、これは感動しました。
さっそく真似しようと思います。

ちなみに、if文と言えば
if ($a == 'a' || $a == 'b' || $a == 'c') {
などとするときに
if (
    $a == 'a'
 || $a == 'b'
 || $a == 'c'
) {
とすると、追加・削除が楽です。
※行の後ろに || や && があると、評価末尾への追加が前行のコピペをした場合、演算子削除のひと手間が増えます。