プログラミングにおいて、途中状態の変数を作らないというのは、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 なんですかねえ。
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 なんですかねえ。