第二章 重构原则
何谓重构
重构在不改变软件之可察行为的前提下,调整结构。也就是重构之后软件一如既往,不论用户、程序员都不知道已有东西发生了改变。
为何重构
1、改进软件设计
2、使软件更易被理解
3、帮助寻找bug
4、提高编程速度
何时重构
三次法则
第一次做某件事时只管去做;第二次做类似的事会产生反感,但无论如何还是做了;第三次再做类似的事,你就应该重构。
- 添加功能时一并重构
- 修补错误时一并重构
- 复审代码时一并重构(UML+CRC卡片)
重构目标
容易理解+所有逻辑都只在唯一地点指定+新的改动不会危及现有行为+尽可能简单表达条件逻辑
何时不该重构
重写(而非重构)的一个清楚讯号就是:现有代码根本不能正常运作。你可能只是试着做点测试,然后就发现代码中满是错误,根本无法稳定运作。记住,重构之前,代码必须起码能够在大部分情况下正常运作。
重构与设计
重构与设计是互补的状态,在不断调整