第一章:重构,第一个示例
-
学习《重构》是为了减少‘重构’
-
将重构的步子变小,每次修改一点,重复编译、测试、提交。
-
先完成重构,再做性能优化
-
微优化和代码可读性上选代码可读性
-
尽量不要修改传给函数的参数,保存数据不可变(mimutable)
-
好代码的检验标准就是人们是否能轻而易举地修改它
-
开发时把添加新功能和重构分开,添加新功能的时不重构,重构时不添加新功能
-
所谓程序设计,很大程度上就是与计算机对话:我编写代码告诉计算机做什么事,而它的响应时按照我的指示精确行动。一言以蔽之,我所做的就是填补“我想要它做什么”和“我告诉它做什么”之间的缝隙。编程的核心就在于“准确说出我想要的”
第二章:重构的原则
2.4何时重构
- 预备性重构:让添加新功能更容易(如:思考哪些地方可以复用)
- 帮助理解的重构:使代码更易懂
- 捡垃圾式重构(迭代时发现历史问题时随便解决)
- 有计划的重构和见机行事的重构
- 长期重构
- 复审代码时重构:codeReview可以在团队形成知识传播;也是让开发者之外的人阅读代码,更好的分辨这是不是易于理解的代码;在刚开发完时重构效率更高;
- 怎么对经理说: 不说也是一个不错的选择
- 何时不该重构:如重写比重构容易;包裹在API下的不易理解的代码,当需要理解其工作原理时再重构。