アルゴリズムの取り替え (リファクタリング-p139)
リファクタリング
Published: 2018-11-11

目的

「リファクタリング」を理解するためにサンプルコードを 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";