目的
「リファクタリング」を理解するためにサンプルコードを PHP で書き換えてみました。
今回は「重複した条件記述の断片の統合」について書きます。
「重複した条件記述の断片の統合」 について
条件式のすべての分岐に同じコードの断片がある。
上記の場合に適用します。
例
変更前
<?php
function send()
{
echo "send\n";
}
function isSpecialDeal()
{
return true;
}
function main($price)
{
if (isSpecialDeal()) {
$total = $price * 0.95;
send();
} else {
$total = $price * 0.98;
send();
}
echo $total . "\n";
}
main(1000);
変更後
<?php
function send2()
{
echo "send2\n";
}
function isSpecialDeal2()
{
return true;
}
function main2($price)
{
if (isSpecialDeal2()) {
$total = $price * 0.95;
} else {
$total = $price * 0.98;
}
send2();
echo $total . "\n";
}
main2(1000);