13.1 现实的检验
13.2 为什么开发者不愿意重构它们的程序?
1. 不知道如何重构。
2. 如果这些利益是长远的,何必现在付出这些努力呢?长远看来,说不定当项目收获这些利益时,你已经不在职位上了。
3. 代码重构是一项额外工作,老板付钱给你,主要是让你编写新功能。
4. 重构可能破坏现有程序。
1. 如何重构?在哪里重构?
1). 一个常见的重构原因,就是调整程序结构以使(短期内)添加新功能更容易。
2). 如何重构,在哪里重构,经验是无可替代的。
3). C++之于重构:C++语言提供的某些特性可以简化重构,但另一些特性会使重构变得困难。尤其是指针的使用,幸运的是,程序员已经公认:使用诸如指针运算之类的语言特性并不是好主意,大多数优秀的面向对象程序员都会避免使用它们。
2. 重构的短期利益
重构可以带来短期利益,让软件更易修改、更易维护。重构只是一种手段,不是目的。它是“程序员或程序开发团队如果开发并维护自己的软件”这一更宽广场景的一部分。
3. 降低重构带来的开销
4. 安全的进行重构
13.3 再论现实的检验
“让软件开发者相信重构的实际价值”和 “让博士论文评审委员会相信重构研究够得上博士水平”是完全不同的两码事。
13.4 重构的资源和参考资料
13.5 从重构联想到软件复用和技术传播
如果你正试图说服别人重构(或采用其他技术或实践),请注意保证自己随时关注这些问题,这样才能深入人心。技术的传播是很困难的,但不是做不到。
13.6 小结
正如13.5节所说的,如果你认同,就从自己的实践开始吧!