《重构》阅读笔记
第2章 重构原则
2.1 (P53)何谓重构
重构(名词):对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高理解性和降低修改成本。
重构(动词):使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。
定义的扩展:
- 重构让软件更容易理解和修改
- 重构不会改变软件的可观察行为,即使改变也只能是微小的影响,软件功能一如既往。
重构的目标:只改变程序内部结构,不添加新的功能
不要一心二用:
- 添加新功能的时候,不重构已有代码。
- 重构代码时,不增加新功能。
2.2 (P55)为何重构
- 重构改进软件设计:
- 程序的设计质量在没有持续重构的情况下逐渐变差,功能的增加或者修改都可能使代码越来越难以理解和维护,就越难保证最初的设计目标
- 消除重复的代码一方面是程序运行更快,一方面是方便未来的修改,例如:重构减少代码重复,避免功能的改变需要修改多处代码。
- 重构使软件更容易理解:
- 及时填补“想要它做什么”和“告诉它做什么”之间的缝隙。重构的核心就是要“准确说出我所要的”
- 重新阅读代码的人有可能是自己,也可能是他人。
- 通过重构可以把自己不熟悉的代码的用途梳理一遍,加深对代码的理解
- 重构帮助找出bug:
- 这个是建立在代码容易理解之上的
- 重构提高编程速度:
- 重构达到良好的设计,而良好的设计更容易修改代码、增加功能、问题调试。