内联变量
重构动机
在一个函数内部,变量能给表达式提供有意义的名字(例如提炼变量),因此变量通常是好东西。但是如果变量妨碍到重构代码,则应该通过内联消除变量。
重构前
<?php
namespace app\index\controller;
class Index
{
protected $price = 1000; // 原价
protected $discount = 0.65; // 折扣
// 带的钱是否够
public function isMoneyEnough($money)
{
$promotion_price = $this->price * $this->discount;
return $money >= $promotion_price;
}
// 是否可以买
public function ifCanBuy()
{
return $this->isMoneyEnough(800);
}
}
重构后
<?php
namespace app\index\controller;
class Index
{
protected $price = 1000; // 原价
protected $discount = 0.65; // 折扣
// 是否可以买
public function ifCanBuy()
{
return 800 >= ($this->price * $this->discount);
}
}