重构-改善既有代码的设计(1)

 

 

1,建立可靠地测试环境

 

2,寻找要重构的代码(函数或者类)

   一般为比较长的函数,或者逻辑混乱的类

 

3,重构后的函数要修改局部变量,增加程序的可读行

 

4,函数应该放在它所使用的数据的所属对象内;

   (函数搬迁)

 

5,尽量剔除临时变量

 

6,不要在另一个对象的属性基础上运用switch语句,如果不得不使用,页应该在对象自己的数据上使用,而不是别人的数据上使用

 

 

7,将子类型和父类型进行继承操作,来实现多态操作(Movie提取三个子类)

 

 

 

8,将相同类型的不同部分以最小单位提取成类(Movieprice 提取成三个子类) 

 

9,提取抽象类(Price

 

什么时候重构?

为什么重构?

重构后的好处?

 

 

1,重复代码

 

  ①两个函数中有两处使用同一表达式---提炼函数,让这两个函数同时调用提炼出来的函数

  ②两个兄弟类中有两处使用同一表达式----将函数提炼到超类中,子类调用超类函数

 

2,代码过长

原则:每当感觉需要以注释来说明点什么的时候,我们就把需要说明的东西写进一个独立函数中,并以其用途命名。我们可以对一组甚至短短一行代码做这件事,只要函数名能够表达其用途,我们就应该毫不犹豫的这么做

① 避免使用临时变量,因为这样做对程序的可读性得不到任何提升

 

3,如何确定该提炼哪一段代码呢?

① 以个很好的技巧是:寻找注释。

他们通常能指出代码用途和实现手法之间的语义距离..

如果代码前方有一行注释,就是在提醒你:可以将这段代码替换成一个函数。

而且可以在注释的基础上给这个函数命名。就算只有一行代码页应该这么做

②条件表达式和循环页是提炼的信号

   循环可以和其内的代码提炼成一个独立的函数,

   条件表达式可以使用分解条件来提取函数

 

 

4,过大的类

 

①单个类干的事情太多将带来灭亡。

 

  

posted @ 2013-10-09 18:27  尼姑哪里跑  阅读(224)  评论(0编辑  收藏  举报