読者です 読者をやめる 読者になる 読者になる

by shigemk2

当面は技術的なことしか書かない

同じことは同じように書く

Coding Tips

クリアなコードの作り方: 同じことは同じように書く - ククログ(2012-07-18)

たとえばこのようなコードがあったとして…
(コードの中身は放っておいてください)

<?php

function be_str($a) {
  return (is_string($a)) ? true : false;
}

function be_int($a) {
  return (is_numeric($a) && !is_string($a)) ? true : false;
}

function be_null($a) {
  if(is_null($a)) {
    return true;
  } else {
    return false;
  }
}

コードの是非はともかく、同じようなことは同じように書くべきである。
つまり、be_strとbe_intの返り値が三項演算子を利用して書かれているのに、
be_nullはif-elseを使って書かれている。

他のメソッドと違う書きかただと、同じような戻り値なのに
他のメソッドとは違うのかと勘ぐってしまい、それだけで労力が奪われることになってしまう。

同じことが同じように書かれていない場合は読む人が大変である
ということを考慮してコードを書くことにする。