一時変数のインライン化 (リファクタリング-p119)
リファクタリング
Published: 2018-10-29

目的

「リファクタリング」を理解するためにサンプルコードを PHP で書き換えてみました。

今回は「一時変数のインライン化」について書きます。

「一時変数のインライン化」 について

簡単な式によって1度だけ代入される一時変数があり、それが他のリファクタリングの障害となっている。

「一時変数のインライン化」はほとんどの場合、「問い合わせによる一時変数の置き換え(120)」の一部として使われます。

共通

class anOrder
{
    private $base_price;

    public function __construct($base_price)
    {
        $this->base_price = $base_price;
    }

    public function basePrice()
    {
        return $this->base_price;
    }
}

変更前

function hoge()
{
    $anOrder = new anOrder(500);
    $basePrice = $anOrder->basePrice();

    return ($basePrice > 1000);
}

var_dump(hoge());

変更後

function hogeNew()
{
    $anOrder = new anOrder(500);

    return ($anOrder->basePrice() > 1000);
}

var_dump(hogeNew());