重构一 重新组织你的函数(Substitute Algorithm)(1)

重构一 重新组织你的函数(Substitute Algorithm)(1)
你想要把某个算法替换为另一个更清晰的算法。

将函数本体(method body)替换为另一个算法。

String foundPerson(String[] people) {
    for(int i = 0; i < people.length; i++) {
       if(people[i].equals("Don")) {
          return "Don";
        }
       if(people[i].equals("John")) {
          return "John";
        }
       if(people[i].equals("Kent")) {
          return "Kent";
        }
    }
    return "";
}

                             |  |
                            \   /
String foundPerson(String[] people) {
    List candidates = Arrays.asList(new String[],
                                                       {"Don", "John", "Kent"});
    for(int i = 0; i < people.length; i++)
       if(candidates.contains(people[i]))
          return people[i];
    return "";
}

你可能感兴趣的:(重构一 重新组织你的函数(Substitute Algorithm)(1))