注意事项
- 重构时不能添加新功能,只管改进程序的结构。
- 不要过早发布接口,请修改你的代码的所有权,使重构更流畅。
- 1% 的代码影响了 90% 的执行效率,不要只靠猜想来判断效率瓶颈,要量化出来。
重构的几个好处
- 改进软件设计
- 使软件更容易理解
- 帮助找到 BUG
- 提高编程速度
何时重构
- 添加功能时重构
- 修补错误时重构
- 复审代码时重构
- 三次法则:第一次做某件事情只管去做,第二次做类似的事情时虽然反感,但还是可以做;第三次再做类似的事情,就应该重构了。
程序存在的问题
- 难以阅读,难以修改 —— 目标:容易阅读
- 逻辑重复的程序,难以修改 —— 目标:所有逻辑都在唯一地点指定
- 添加新行为时需要修改现有代码,难以修改 —— 目标:新的行为不会危及已有行为
- 带复杂条件逻辑的程序,难以修改 —— 目标:尽可能简单表达条件逻辑
重构是这样的一个过程:它在一个可运行的程序上进行,在不改变程序行为的前提下使其具备美好的性质,使我们能够继续保持高速开发,从而持续提升程序的价值。