美文网首页
《重构》读书笔记 第一二章

《重构》读书笔记 第一二章

作者: dafasoft | 来源:发表于2022-08-07 09:41 被阅读0次

第一章

重构的基础:

我们需要为即将修改的代码建立一套可靠的测试环境,为了使重构的结果能够得到保证,我们需要可靠的测试方式

分解并重组:

  • 分解和重组的意义:
    代码块越小,代码的功能就越容易管理,代码的处理和移动也就越轻松。
  • 当我们提炼一个方法时,我们必须知道可能出什么错,如果提炼的不好,就可能给程序引入BUG
  • 提炼代码块后,最好修改方法名和变量名使其更合理
    思考:当代码块未被提取时,代码块中所使用的变量名的含义有时候会和提取后的含义变得不同,因此改名是有必要的,如书中所说:任何一个傻瓜都能写出计算机可以理解的代码,唯有写出人类容易理解的代码,才是优秀的程序员
  • 改名后,我们需要重新编译并测试,确保没有破坏任何东西
  • 将代码放到正确的位置,我理解最好是遵循高内聚低耦合的原则
  • 去除多余的变量或语句。尽量去除一些临时变量,临时变量往往引发问题,它们会导致大量参数传来出去,在一些比较长的方法中很容易跟丢他们,不利于阅读。
  • 重构时最好小步前进,如此依赖犯错的几率最小
  • 重构阶段最好只考虑代码结构的合理性,由此可能会出现影响性能的操作,如:循环由一次变成了多次,作者认为在重构阶段不必考虑这些,将代码结构尽可能做合理,让自己处于有利的位置,性能问题交给后续的性能优化。

多态的作用

  • 如有必要,使用多态取代条件逻辑
  • 将变化的部分放到对应的类中

第二章

何谓重构

  • 重构提供了一种更搞笑且受控的代码整理技术
  • 重构不会改变软件可观察的行为--重构之后软件功能一如以往。

为何重构

  • 重构改进软件设计
  • 重构是软件更容易理解
  • 重构帮助找到BUG
    有时候,我们盯着一大段代码不停地看以期望找到BUG,但有时候这种工作效率很低,这时候不妨尝试将这段代码重构,搞清楚程序结构的同时,也清楚了自己所做的假设,也许可以快速找到BUG
  • 重构提高变成速度

何时重构

  • 添加功能时重构
  • 修改BUG时重构
    -复审代码时重构

重构的难题

  • 数据库
    解决办法:在对象模型和数据库模型之间插入一个分割层,这样就可以隔离两个模型各自的变化
  • 修改接口
    解决办法:
  1. 如果重构守法改变了已发布的接口,你必须同时维护新旧两个接口,知道所有用户都有时间对这个变化作出反应。
  2. 尽量让旧接口调用新街口
  3. 使用deprecation注解标记旧接口
    注意事项:不要过早发布接口,尽量减少开放接口的数量
  • 难以通过重构手法完成的设计改动
    先想想重构的状况,适时决定是否进行重构
  • 何时不改重构
  1. 既有代码太混乱,重构还不如重新写一个来的简单
  2. 项目已经接近最后期限,也应该避免重构

重构与设计

  • 预先设计,编码阶段实施设计过程中,有可能会出现预先设计的解决方案无法解决的问题,这个时候引入重构。

重构与性能

  • 三种快速编写软件的方法
  1. 时间预算法
    这通常只适用于性能要求极高的实时系统
  • 持续关注法
    这种方法要求任何程序员在任何时候做任何事时都要设法保持系统的高性能,但这通常使程序难以维护,根据统计数据,如果一视同仁的·优化所有代码,90%的优化工作都是白费劲的,因为优化的代码大部分很少被执行
  • 利用统计数据,寻找程序中哪些地方大量消耗时间和空间,有目的的去进行性能优化

相关文章

  • 重构:读书笔记

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

  • 3月份读书打卡第8次

    【书目】《语文教学设计:优化与重构》 张秋玲著,教育科学出版社 【进度】第262—289页 【读书笔记】 第二讲 ...

  • 重构读书笔记

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

  • 《重构》读书笔记

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

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

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

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

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

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

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

  • 《重构》读书笔记

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

  • 重构-读书笔记

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

  • 重构-读书笔记

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

网友评论

      本文标题:《重构》读书笔记 第一二章

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