0%

重构 改善既有代码的设计

阅读笔记及摘要

Chapter 1. 重构,第一个示例

如果你要给程序添加一个新特性,但发现代码因缺乏良好的结构而不易于进行更改,那就先重构那个程序,使其比较容易添加该特性,然后再添加该特性。

需求的变化使重构变得必要。如果一段代码能正常工作,并且不会再被修改,那么完全可以不去重构它。如果有人需要理解其工作原理,并且觉得理解起来很费劲,那就需要改进代码。

重构前,先检查自己是否有一套可靠的测试集。这些测试必须有自我检测能力。

无论每次重构多么简单,养成重构后即运行测试的习惯非常重要。

重构技术就是以微小的步伐修改程序。如果犯了错误,很容易便可发现。

如果测试通过,把代码提交到本地的版本控制。把代码提交到远程仓库前,把零碎的修改压缩成更有意义的提交。

使用动态类型语言时,跟踪变量的类型很有意义。为参数取名时可默认代上其类型名,可使用不定冠词修饰。

傻瓜都能写出计算机可以理解的代码。唯有能写出人类容易理解的代码的,才是优秀的程序员。

好的代码应该能清楚表明它在做什么,而变量名是代码清晰的关键。只要改名能够提升代码的可读性,那就应该毫不犹豫去做。

临时变量往往带来麻烦,它们只在对其进行处理的代码块中有用。

如果重构引入了性能损耗,先完成重构,再做性能优化。

营地原则:离开时的代码库一定比来时更健康。

好代码的检验标准是人们能否轻而易举地修改它。

Chapter 2. 重构的原则

重构:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。

Chapter 3. 代码的坏味道

Chapter 4. 构筑测试体系

Chapter 5. 介绍重构名录

Chapter 6. 第一组重构

Chapter 7. 封装

Chapter 8. 搬移特性

Chapter 9. 重新组织数据

Chapter 10. 简化条件逻辑

Chapter 11. 重构API

Chapter 12. 处理继承关系