概述
- 作者信息:[美] Martin Fowler 著,熊节 译
- 重构:在不改变软件可观察行为的前提下改善其内部结构。
第1章 重构,第一个案例
1.1 起点
1.2 重构的第一步
- 为即将修改的代码建立一组可靠的测试环境
1.3 分解并重组statement()
- 将switch语句块提炼到独立函数中
- Java IDE,如Eclipse、Idea均已提供良好的重构支持。
- 更改变量名称是非常值得的行为,好的代码应该清楚表达出自己的功能,变量名称是代码清晰的关键。IDE均已支持更改变量名称。
- 绝大多数情况下,函数应该放在它所使用的数据的所属对象(类)内。
1.4 运用多态取代与价格相关的条件逻辑
- 最好不要在一另一个对象的属性基础上运用switch语句。如果不得不使用,也应该在对象自己的数据上使用,而不是在别人的数据上使用。
- 一部影片可以在生命周期内修改自己的分类,一个对象却不能再声明周期内修改自己所属的类,采用State模式可以解决这个问题。
1.5 结语
第2章 重构原则
2.1 何谓重构
- 两顶帽子,使用重构技术开发软件时,你把自己的时间分配给两种截然不同的行为:添加新功能、重构。添加新功能时,不应该修改既有代码,只管添加新功能。重构时不能添加新功能,只管改进程序结构。
2.2 为何重构
- 消除重复代码,这个动作的重要性在于方便未来的修改。
- Kent Beck,我不是个伟大的程序员,我只是个有着一些优秀习惯的好程序员。
2.3 何时重构
- 用UML示意图展现设计,并CRC卡展示软件情节
2.4 怎么对经理说
2.5 重构的难题
- 《数据库重构》
2.6 重构与设计
- 预先设计