《重构,改善既有代码的设计》 著:Martin Fowler 译:熊节
序
- 在设计前期使用模式常常导致过度工程,“实用”是软件压倒一切的要素
第一章
- 重构前,先检查自己是否有一套可靠的测试机制,这些测试必须有自我检验能力
- 任何不会被修改的变量都可以被我当成参数传入新的函数,至于会被修改的变量就需要格外小心,如果只有一个变量会被修改,那我可以把它当做返回值
- 最好不要在另一个对象的属性基础上运用switch语句,如果不得不使用,也应该在对象自己的数据上使用。而不是在别人的数据上使用
第二章
添加新功能不应该修改原有代码
重构时就不能再添加功能
如果你对大多数程序进行分析,就会发现它把大半时间都耗费在一小半代码身上,如果你一视同仁优化所有代码,90%的优化是为了让程序运行更快。但如果因为缺乏对程序的清楚认识而花费时间,那些时间就都被浪费掉了
每当感觉需要以注释来说明点什么的时候,我们就把需要说明的东西写进一个独立函数中,并以用途命名
删掉众多数据中的一项目,这么做,其他数据有没有因而失去意义?如果它们不再有意义,这就是个明确信号,你应该为它们产生一个新对象
每天至少执行每个测试一次
每当你收到bug报告,请先写出一个单元测试来暴露这个bug
第九章
条件表达式所有分支都是正常行为,应该使用if...else,而如果只有一种是正常,其他都是特殊行为,应该去掉else,全部使用if return方式
空对象的使用,空对象一定是常量,通常使用单例模式创建
第十一章
受托对象被不止一个其他对象共享,而且受托对象是可变的,这种情况不适用以继承取代委托