重构 改善代码的既有设计

重构的方法有几个方面:

1.类(class)

2.属性(field)

3.方法(method)

4.类与类之间的关系(class raletionship)

一.类(class)

类的名称(class name);

二.属性

自封装字段(self encapsulate filed);

以对象取代数据值(replace data value with object);

将值对象改为引用对象(change reference to value)

将引用对象改为值对象

以对象取代数组

三.方法

提炼函数

内联函数

内联临时变量

以查询取代临时变量

引入解释型变量

分解临时变量

移除对参数的赋值

以函数对象取代函数

替换算法

四.类与类之间的关系

搬移函数

搬移字段

提炼类

将类内联化

移除中间人

引入外加函数

引入本地扩展

  一.代码的坏味道

    1.重复代码 (extract  method)

       两个函数有相同的代码 。提炼相同代码形成新的函数。

       两个类有相同的代码 。成立一个新的父类把相同的代码推到父类中。

    2.过长的函数(long method);

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

     条件表达式和循环也是提炼的信号。

   3.过大的类(large class)

  类内如果有太多代码,也是代码重复、混乱并最终走向死亡的源头。最简单的解决方案是把多余的东西消弭于类内部。如果有五个“百行函数”,它们之间很多代码都相同,那么或许 你可以把它们编程五个“十行函数”和十个提炼出来的“双行函数”。

    (extract subclsss)

   4.过长的参数列(long parameter list)

      使用对象去代替过长的参数列。

posted @ 2016-03-05 13:14  随风而逝,只是飘零  阅读(243)  评论(0编辑  收藏  举报