重构,改善既有代码的设计--总结篇
一、书中经典句子
1.重构之前,首先检查自己是否有一套可靠的测试机制。这些测试必须有自我检验能力。
2.面对长长的函数,需要分解,代码块越小越好管理。
二、自己总结的句子
1.修改长长的函数,找到变的参数和不变的参数,变的参数保留,不变的参数传入新函数。
2.重构的时候使用快捷键重构之后,需要检查方法里面的参数,参数如果是不变的值如a=1;,直接在方法里面去定义就行了,这样就省去了传值的过程,效率更高。
3.在重构函数之后,若函数的参数不属于当前类,并且函数中没使用当前类,需要把方法移动到参数所属的类去;如:A类里面的方法
DoSomething(B
b){b.getLabel(){}//do many things};
需要移动到B类中去,
4.重构之后需要检查下被重构的函数被多少个地方使用,保证无错
5.对于接受一个方法返回值的参数如var a=B.getA();在这里a是完全没有必要的,可以直接把它给删除,在使用到a的地方替换为B.getA()
6.为了使得方法看起来更加简洁,可以把方法中的变量和使用到变量的逻辑给抽取出来,形成一个方法,删除变量之后再使用到变量的地方用方法替代。
7.在switch语句,最好不要在另一个对象的基础上运用switch语句。如果不得不使用,也应该在对象自己的数据上使用,而不是别人的数据上使用。比如:A类中的方法MethodA()中的switch里面使用的都是B类对象引用的数据如:case B.NUMBER;则需要把该方法转移到B类中去,以减少没必要的引用。
重构,改善既有代码的设计--第二章感悟
一、摘取章句
1.改进设计的重要方向是消除重复代码。
2.力求代码容易理解
3.早起重构被描述为“擦掉窗户上的污垢,使你看得更远。”
二、何时重构
1.在给软件添加功能的时候重构
2.修补错误时候重构:在重构中来找出系统的bug
3.复审代码时候重构
4.个人觉得在功能完成之后顺便重构会更好,因为在那个时候对代码还是很熟悉,还有可以在重构的时候去发现开发过程中遗留下来的bug