- 如果你要给程序添加一个特性,但发现代码因缺乏良好的结构而不易于进行更改,那就先重构那个程序,使其比较容易添加该特性,然后再添加该特性。
- 需求的变化使重构变得必要
- 可以直接将 新提炼的函数 提炼成为函数中的一个内嵌函数。这个特性十分有用,因为不需要再把外部作用域中的数据传给新提炼的函数。
- 把零碎的修改压缩成每一个更有意义的提交,有利于版本回退。
- 以查询取代临时变量,将查找对象某个属性的过程封装成函数。
- 好的命名十分重要,但往往并非唾手可得。只有恰如其分地命名,才能彰显出将大函数分解成小函数的价值。
- 对于重构过程的性能问题,我总体的建议是:大多数情况下可以忽略它。如果重构引入了性能损耗,先完成重构,再做性能优化。
- 编程时,需要遵循营地法则:保证你离开时的代码库一定比来时更健康。
- 好代码的检验标准就是人们是否能轻而易举地修改它。