阅读《重构 改善既有代码的设计》,里面有些概念总结得很好,看了豁然开朗。摘一些要点出来。
重构定义
- 重构(名词):对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。
- 重构(动词):使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。
为何重构
- 重构改进软件设计
- 重构使软件更容易理解
- 重构帮助找到bug
- 重构提高变成速度
何时重构
- 添加功能时,修补错误时,复审代码时。
- 三次法则:事不过三,三则重构。
重构的切入点
如果你需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构程序,使特性的添加比较容易进行,然后再添加特性。
重构要点
重构就是以微小的步伐修改程序。如果你犯下错误,很容易便可发现它。
重构的第一步
为即将修改的代码建立一组可靠的测试环境。(第四章)
重构方法
- 重构方法1:分解长函数。Extract Method工具。修改抽出函数里的变量名称。
- 重构方法2:搬移代码。Move method工具。
- 重构方法3:去除一些临时变量。(引发性能代价问题,P69再说)。
- 重构方法4:继承,子类化动作。引入State模式。
- tip: IDE工具要用起来。 整理代码,提供了一种更高效且受控的代码整理技术。
参考
- 《重构 改善既有代码的设计》