タグ

PHPとtipsに関するatsushifxのブックマーク (2)

  • ヨーダ記法を応援します - がるの健忘録

    軽く各方面とバトりそうなネタなれど。 まず。 ヨーダ記法(ないしNTT記法…って、うちのまわりではいってたんだけど、ググるとあんまりでてこない)ですが。 これは「if等の比較演算において、左辺に定数、右辺に変数を置く」記法です。 とりあえず幾つかネットで拾ってみる。 http://uchidak.net/yoda-notation このようにヨーダ記法とは、予期しない代入を防ぐために産み出された安全側へ倒すための書き方です。 しかしながら、現在はコンパイラがよしなにしてくれるため、あえてヨーダ記法で可読性を失うような書き方をすることをリーダブルコードでは推奨していませんでした。 http://qiita.com/moriturus/items/723eb17873381f94baf8 確かに、ヨーダ記法(1 == hogeのように記述する)は、発見しづらいミスを防ぐのに有用かもしれないが、

    ヨーダ記法を応援します - がるの健忘録
    atsushifx
    atsushifx 2014/12/22
    40代で老害には射るだろうけど、自分はヨーダ記法否定派。PHPならdefineで定数宣言するだろうからヨーダ記法にしても左辺がリテラルとすぐに気づくか疑問。それよりはIDEやLintなどのツールに任せるべきだと想う
  • 関数/メソッドのオプションを柔軟に受け渡す - Blog::koyhoge::Tech

    Tips公開が流行ってるみたいなのでそれに乗ってみます。 関数やメソッドの引数が多くなると、呼び出し側で何をやっているのか分からない表記になりがちです。関数を定義する際もどれを省略可能にするかで引数の順番を悩んだりして…。 たとえばこんな関数があったとします。 function getItemsByMode($key, $mode = DEFAULT_MODE, $limit = 0, $offset = 0) { ... } 呼び出す側は $items = getItemsByMode($myKey, MODE_A, 20); だったり $items = getItemsByMode($myKey, MODE_A, 20, 40); なわけで、20と40のどっちがlimitか分かりにくいことこの上ないです。そこで今回の方法となるわけですが、その前にひとつ前準備。今回は引数に連想配列を使う

    関数/メソッドのオプションを柔軟に受け渡す - Blog::koyhoge::Tech
    atsushifx
    atsushifx 2008/08/08
    phpでの連想配列の値チェックを外部化する関数について
  • 1