blog.fuktommy.com

プログラミングにおいて、途中状態の変数を作らないというのは、1つのルールになるのではないだろうか。 PHPのDateTimeクラスは便利なのだが、不思議なところがあって、ほとんどのメソッドに副作...

プログラミングにおいて、途中状態の変数を作らないというのは、1つのルールになるのではないだろうか。

PHPのDateTimeクラスは便利なのだが、不思議なところがあって、ほとんどのメソッドに副作用がある。
例えばある日の1日前を作ろうと思うと、

$yesterday = clone $today;
$yesterday->modify('-1 day');

のようにしなければならない。
これがルール違反というのが主旨で、
$yesterday = clone $today; の段階では変数名は昨日なのに、値は今日になっている。

別のパターンだと

$ret = array();
while (条件) {
  $ret[] = 値;
}
return $ret;

とか。これもreturnに至るまでの$retは戻値ではない。

$retはよくあるパターンなのであまり気にしていなかったのだけど、
$yesterday = clone $today; には頭を抱えた。

Scalaでいうところの var と val なんですかねえ。
Copyright© 1998-2014 Fuktommy. All Rights Reserved.
webmaster@fuktommy.com (Legal Notices)