目的
「リファクタリング」を理解するためにサンプルコードを PHP で書き換えてみました。
今回は「アルゴリズムの取り替え」について書きます。
「アルゴリズムの取り替え」 について
今回は本からの引用はありません。
例
変更前
<?php
function foundPerson($people)
{
for ($i = 0; $i < count($people); $i++) {
if ($people[$i] === 'Don') {
return 'Don';
}
if ($people[$i] === 'John') {
return 'John';
}
if ($people[$i] === 'Kent') {
return 'Kent';
}
}
return '';
}
echo foundPerson($people) . "\n";
変更後
<?php
function foundPersonVersion2($people)
{
$candidates = ['Don', 'John', 'Kent'];
for ($i = 0; $i < count($people); $i++) {
if (in_array($people[$i], $candidates)) {
return $people[$i];
}
}
return '';
}
$people = ['Jon', 'jon', 'kent', 'John'];
echo foundPersonVersion2($people) . "\n";