重构思想

来源:互联网 发布:wep的rc4算法 编辑:程序博客网 时间:2024/06/07 18:18

所谓重构(refactoring)是这样一个过程:在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构。重构是一种经千锤百炼形成的

有条不紊的程序整理方法。本质上说,重构就是在代码写好之后改进它的设计。(摘自《重构 改善既有代码的设计》熊节 译)

一、重构的一般性原则

 

二、重构列表

(1)Add Parameter(添加参数)

 

(2)Change Bidirectional Association to Unidirectional(将双向关联改为单向)

 

(3)将引用对象改为值对象

 

(4)将单向关联改为双向

 

(5)将值对象改为引用对象

 

(6)合并继承层次

 

(7)合并条件语句

 

(8)合并重复的条件片段

 

(9)将过程式设计转换为面向对象

 

(10)分解条件语句

 

(11)重复被观察数据

 

(12)封装集合

 

(13)封装向下转型

 

(14)封装字段

 

(15)提取类

 

(16)提取继承层次

 

(17)提取接口

 

(18)提取方法

 

(19)提取子类

 

(20)提取超类

 

(21)形成模板方法

 

(22)隐藏委托类

 

(23)隐藏方法

 

(24)内联类

 

(25)内联方法

 

(26)内联临时变量

 

(27)引入断言

 

(28)引入解释性变量

 

(29)引入外加方法

 

(30)引入本地扩展类

 

(31)引入Null对象

 

(32)引入参数对象

 

(33)移动字段

 

(34)移动方法

 

(35)参数化方法

 

(36)保持对象完整

 

(37)上移构造器主体

 

(38)上移字段

 

(39)上移方法

 

(40)下移字段

 

(41)下移方法

 

(42)去除参数赋值

 

(43)去除控制标志

 

(44)去除中间人

 

(45)去除参数

 

(46)去除设置方法

 

(47)重命名函数

 

(48)用对象代替数组

 

(49)用多态代替条件语句

 

(50)用工厂方法代替构造方法

 

(51)用对象代替数据值

 

(52)用继承代替委托

 

(53)用异常代替错误码

 

(54)用测试代替异常

 

(55)用委托代替继承

 

(56)用字面常量代替魔数

 

(57)用方法对象代替方法

 

(58)用守卫语句代替嵌套条件语句

 

(59)用显示方法代替参数

 

(60)用方法代替参数

 

(61)用数据类代替记录

 

(62)用字段代替子类

 

(63)用查询方法代替临时变量

 

(64)用类代替类型码

 

(65)用State/Strategy代替类型码

 

(66)用子类代替类型码

 

(67)自封装字段

 

(68)将领域逻辑与表现分离

 

(69)将查询方法与修改方法分离

 

(70)分离临时变量

 

(71)替换算法

 

(72)分解继承层次

 

原创粉丝点击