代码的坏味道 | 一般重构方法 | 使用模式重构 |
重复代码 | 提炼方法 | 构造Template Method |
过长方法 | 提取方法 | 转移聚集操作到Vistor |
过长参数列 | 以方法取代参数 |
|
条件逻辑过度复杂 | 分解条件式 引入解释性变量 引入函数 | 以Strategy取代条件逻辑 |
分支语句 | 提取方法 | 以State/Strategy取代类型代码 |
基本类型迷恋 | 以对象取代数据值 | 以State取代状态改变条件语句 |
数据泥团 | 提取类 |
|
令人迷惑的临时字段 | 提取类 | 引入Null Object |
组合爆炸 |
| 以Interpreter取代隐式语言 |
过大类 | 提取类 | 以Command取代条件调度程序 |
冗赘类 | 折叠继承关系 |
|
不恰当的暴露 | 封装字段 | 用Factory封装类 |
发散式变化 | 提取类 |
|
霰弹式修改 | 转移方法 | 将创建知识搬移到Factory |
依恋情结 | 转移方法 | 引入Strategy |
平行继承体系 | 转移方法 |
|
夸夸其谈未来性 | 折叠继承关系 |
|
过度耦合的消息连 | 隐藏委托 | 使用抽象引入Chain Of Responsibility |
中间转手人 | 移除中间转手人 |
|
狎昵关系 | 转移方法 |
|
异曲同工的类 | 重命名方法 | 用Adapter统一接口 |
不完善的程序库类 | 引入外加方法 | 用Adapter统一接口 |
纯稚的数据类 | 封装字段 |
|
被拒绝的遗赠 | 以委托取代继承 |
|
过多的注释 | 使用一起重构方法,使方法本身达到自说明的效果,让注释显得多余 |
|
怪异解决方案 | 替换算法 | 用Adapter统一接口 |
常见重构方法大汇总
最新推荐文章于 2025-04-24 17:46:29 发布