博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
6.9 Substitute Algorithm(替换算法)
阅读量:5076 次
发布时间:2019-06-12

本文共 647 字,大约阅读时间需要 2 分钟。

概括
          把某个算法替换为另一个更清晰的算法。
         
将函数本体替换为另一个算法。
      例子
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 "";
}
动机
          使用此项重构手法之前,先要确定自己已经尽可能分解了源函数。替换一个巨大而复杂的算法很困难,只有先将它分解为较简单的小型函数,然后才可能很有把握的进行算法替换。
做法
.
实践
.

转载于:https://www.cnblogs.com/controlfate/p/3445745.html

你可能感兴趣的文章
P1541 乌龟棋
查看>>
P1680 奇怪的分组
查看>>
P2132 小Z的队伍排列
查看>>
P2212 [USACO14MAR]浇地Watering the Fields
查看>>
P1301 魔鬼之城
查看>>
P1622 释放囚犯
查看>>
P1299 切孔机
查看>>
P1725 琪露诺
查看>>
P2170 选学霸
查看>>
P1713 麦当劳叔叔的难题(90分)
查看>>
P1311 选择客栈
查看>>
[USACO08OCT]牧场散步Pasture Walking
查看>>
基因变异
查看>>
P2111 考场奇遇
查看>>
P2769 猴子上树
查看>>
P2734 游戏 A Game
查看>>
P2280 [HNOI2003]激光炸弹(70分)
查看>>
P1213 时钟
查看>>
P2706 巧克力
查看>>
OSDA - 一个以MIT协议开源的串口调试助手
查看>>