读书笔记-《重构,改善既有代码的设计》

《重构,改善既有代码的设计》 著:Martin Fowler 译:熊节


  1. 在设计前期使用模式常常导致过度工程,“实用”是软件压倒一切的要素

第一章

  1. 重构前,先检查自己是否有一套可靠的测试机制,这些测试必须有自我检验能力
  2. 任何不会被修改的变量都可以被我当成参数传入新的函数,至于会被修改的变量就需要格外小心,如果只有一个变量会被修改,那我可以把它当做返回值
  3. 最好不要在另一个对象的属性基础上运用switch语句,如果不得不使用,也应该在对象自己的数据上使用。而不是在别人的数据上使用

第二章

  1. 添加新功能不应该修改原有代码

  2. 重构时就不能再添加功能

  3. 如果你对大多数程序进行分析,就会发现它把大半时间都耗费在一小半代码身上,如果你一视同仁优化所有代码,90%的优化是为了让程序运行更快。但如果因为缺乏对程序的清楚认识而花费时间,那些时间就都被浪费掉了

  4. 每当感觉需要以注释来说明点什么的时候,我们就把需要说明的东西写进一个独立函数中,并以用途命名

  5. 删掉众多数据中的一项目,这么做,其他数据有没有因而失去意义?如果它们不再有意义,这就是个明确信号,你应该为它们产生一个新对象

  6. 每天至少执行每个测试一次

  7. 每当你收到bug报告,请先写出一个单元测试来暴露这个bug

第九章

条件表达式所有分支都是正常行为,应该使用if...else,而如果只有一种是正常,其他都是特殊行为,应该去掉else,全部使用if return方式

空对象的使用,空对象一定是常量,通常使用单例模式创建

第十一章

受托对象被不止一个其他对象共享,而且受托对象是可变的,这种情况不适用以继承取代委托

你可能感兴趣的:(读书笔记-《重构,改善既有代码的设计》)