关于refactoring

  重构让代码变得有价值而不是负担。通过时机、切入点、原则三个词语来简单了解一下重构。

  什么时候我们要重构,逻辑重复、程序复杂不好理解、添加功能时不好修改。

 Method:

相同的代码

过长的参数

不好理解的方法名

复杂的算法

  Class:

相似的method

过大的class

临时、相同的field

面向过程化

职责不清晰

纯数据class

   Organizing 

一个class引发多个class修改(divergent change)

一个class受多个class变化的影响(shotgun surgery)

过度的继承

过度delegation

过度消息耦合(message chains)
 
 
      当我们遇到这些问题重构时,可参考哪些经验和原则:
Method
函数名表达意图(代替注释)、职责明确(一个函数一个意图)、参数简单(可传递对象)、减少全局变量的使用、局部变量再复值、去除重复表达式、精简算法
简化条件表达式
 
Between Object
单一职责 (将method、field转移到合适的类)、使用封装、减少耦合、去除不必要关联(在feild中去除)
加委托(隐藏细节、通过server代理或委托类)、去委托(委托泛滥、继承代替委托)
扩展类库(提炼子类、提炼超类)、用接口代替继承 委托代替继承、使用多态
避免纯数据类、将数据转换成对象
使用设计模式
 

     在开发程序是我们需要先设计、熟悉重构避免重构。

 

 

 

 

 

 

 

 

 

 

      

posted on 2014-09-27 19:35  tintindeng  阅读(110)  评论(0编辑  收藏  举报

导航