Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Refactoring: Decompose Conditional (after)
if ($this->notSummer($date)) {
$charge = $this->winterCharge($quantity);
} else {
$charge = $this->summerCharge($quantity);
}
...
/**
* 指定された日付が夏以外かどうかを返します。
*
* @param object $date
* @return boolean
*/
private function notSummer($date)
{
return $date->before(SUMMER_START) || $date->after(SUMMER_END);
}
/**
* 夏の請求金額を返します。
*
* @param integer $quantity 数量
* @return integer
*/
private function summerCharge($quantity)
{
return $quantity * $this->summer_rate;
}
/**
* 冬の請求金額を返します。
*
* @param integer $quantity 数量
* @return integer
*/
private function winterCharge($quantity)
{
return $quantity * $this->winter_rate + $this->winter_service_charge;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.