美文网首页
重构读书笔记-6_7-Substitute_Algorithm

重构读书笔记-6_7-Substitute_Algorithm

作者: MR_Model | 来源:发表于2019-06-13 09:44 被阅读0次

重构第六章

9.Substitute Algorithm(替换算法)

将函数本体替换成为另一个算法

Example:

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 "";
}

Analyse:

在不断的需求叠加的时候,某些函数的进行方式,已经不再适合于具体的业务逻辑,或者有其他的方式可以更简单、更清晰的实现所需要的功能。
此时,修改你的算法,使程序更加的简单

使用情景:
1.有更加简单的算法
2.你的代码与即将新使用的程序库代码重复
3.为了后续的可扩展性或者功能更改

End:

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 "";
}

Conclusion:

书中说使用Substitute Algorithm(替换算法)手法之前,首先要确定自己已经尽可能的分解了原先函数。替换一个巨大而复杂的算法是非常困难的,只有先将它分解为简单的小型函数,然后你才能很有把握的进行算法替换工作。

我认为,想要使用Substitute Algorithm(替换算法)手法,还要保证你确实充分了解算法的整个构成,贸然替换一个你不熟悉的算法,可能会导致无数的问题,导致最终这个重构手法以失败告终。

同时,尽量使得代码的耦合度降低,可以直接定位到问题所在,同时,不会由于修改了一个算法,而导致其他一系列奇奇怪怪的问题。

注意

重构必须在有单元测试的情况下,保证之前的功能修改后不收影响。切记!!!

相关文章

  • 重构读书笔记-6_7-Substitute_Algorithm

    重构第六章 9.Substitute Algorithm(替换算法) 将函数本体替换成为另一个算法 Example...

  • 重构:读书笔记

    重构读书笔记 第一章 重构,第一个案例 第二章 重构原则 2.1 何为重构 重构(名词):对软件内部结构的一种调整...

  • 重构读书笔记

    title: 重构读书笔记date: 2019/11/05 重构:对软件内部结构的一种调整,目的是在不改变软件可观...

  • 《重构》读书笔记

    《重构》读书笔记 总览 第一部分 第一章从实例程序出发,展示设计的缺陷,对其重构可以了解重构的过程和方法。 第二部...

  • 《危机与重构:唐帝国及其地方诸侯》读书笔记

    《危机与重构:唐帝国及其地方诸侯》读书笔记 李碧妍先生的《危机与重构:唐帝国及其地方诸侯》一书。是以唐代后期的藩镇...

  • 《重构--改善既有代码的设计》读书笔记

    《重构--改善既有代码的设计》读书笔记 1为什么重构有用 所有有意义的事情总结下来,都是完成了一个有用的功能,或者...

  • 个人技术文章系列汇总(csdn)

    Java基础 Effective Java读书笔记 java 几种加载驱动的方法 《重构改善既有代码的设计》代码的...

  • 《重构》读书笔记

    chapter 1 重构,第一个案例 1.1 什么时候需要重构 需要为程序添加一个特性,但代码结构无法使自己方便的...

  • 重构-读书笔记

    有一本书叫做《重构 改善既有代码的设计 》,个人感觉写的还蛮不错的,在读这本书时候做的一些读书笔记,分享给大家: ...

  • 重构-读书笔记

    重构 概念:在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构。重构技术就是以微小的步伐修改程序。...

网友评论

      本文标题:重构读书笔记-6_7-Substitute_Algorithm

      本文链接:https://www.haomeiwen.com/subject/itcjfctx.html