重构之重构方法

坏味道与重构手法速查表

坏味道(中文)常用重构
异曲同工的类改变函数声明(124),搬移函数(198),提炼超类(375)
注释提炼函数(106),改变函数声明(124),引入断言(302)
纯数据类封装记录(162),移除设值函数(331),搬移函数(198),提炼函数(106),拆分阶段(154)
数据泥团提炼类(182),引入参数对象(140),保持对象完整(319)
发散式变化拆分阶段(154),搬移函数(198),提炼函数(106),提炼类(182)
重复代码提炼函数(106),移动语句(223),函数上移(350)
依恋情结搬移函数(198),提炼函数(106)
全局数据封装变量(132)
内幕交易搬移函数(198),搬移字段(207),隐藏委托关系(189),以委 托取代子类(381),以委托取代超类(399)
过大的类提炼类(182),提炼超类(375),以子类取代类型码(362)
冗赘的元素内联函数(115),内联类(186),折叠继承体系(380)
过长函数提炼函数(106),以查询取代临时变量(178),引入参数对象 (140),保持对象完整(319),以命令取代函数(337),分解条 件表达式(260),以多态取代条件表达式(272),拆分循环 (227)
过长参数列以查询取代参数(324),保持对象完整(319),引入参数对象 (140),移除标记参数(314),函数组合成类(144)
循环语句以管道取代循环(231)
过长的消息链隐藏委托关系(189),提炼函数(106),搬移函数(198)
中间人移除中间人(192),内联函数(115),以委托取代超类(399), 以委托取代子类(381)
可变数据封装变量(132),拆分变量(240),移动语句(223),提炼函数 (106),将查询函数和修改函数分离(306),移除设值函数 (331),以查询取代派生变量(248),函数组合成类(144),函数组合成变换(149),将引用对象改为值对象(252)
神秘命名改变函数声明(124),变量改名(137),字段改名(244)
基本类型偏执以对象取代基本类型(174),以子类取代类型码(362),以多态取 代条件表达式(272),提炼类(182),引入参数对象(140)
被拒绝的遗赠函数下移(359),字段下移(361),以委托取代子类(381),以 委托取代超类(399)
重复的switch以多态取代条件表达式(272)
霰弹式修改搬移函数(198),搬移字段(207),函数组合成类(144),函数 组合成变换(149),拆分阶段(154),内联函数(115),内联类 (186)
夸夸其谈通用性折叠继承体系(380),内联函数(115),内联类(186),改变函 数声明(124),移除死代码(237)
临时字段提炼类(182),搬移函数(198),引入特例(289)

第一组重构

  1. 提炼函数
  2. 内联函数
  3. 提炼变量
  4. 内联变量
  5. 改变函数声明
  6. 封装变量
  7. 变量改名
  8. 引入参数对象
  9. 函数组合成类
  10. 函数组合成变换
  11. 拆分阶段

封装

  1. 封装记录
  2. 封装集合
  3. 以对象取代基本类型
  4. 以查询取代临时变量
  5. 提炼类
  6. 内联类
  7. 隐藏委托关系
  8. 移除中间人
  9. 替换算法

搬移特性

  1. 搬移函数
  2. 搬移字段
  3. 搬移语句到函数
  4. 搬移语句到调用者
  5. 以函数调用取代内联代码
  6. 移动语句
  7. 拆分循环
  8. 以管道取代循环
  9. 移除死代码

重新组织数据

  1. 拆分变量
  2. 字段改名
  3. 以查询取代派生变量
  4. 将引用对象改为值对象
  5. 将值对象改为引用对象

简化条件逻辑

  1. 分解条件表达式
  2. 合并条件表达式
  3. 以卫语句取代嵌套条件式
  4. 以多态取代条件表达式
  5. 引入特例
  6. 引入断言

重构API

  1. 将查询函数和修改函数分离
  2. 函数参数化
  3. 移除标记参数
  4. 保持对象完整
  5. 以查询取代参数
  6. 以参数取代查询
  7. 移除设值函数
  8. 以工厂函数取代构造函数
  9. 以命令取代函数
  10. 以函数取代命令

处理继承关系

  1. 函数上移
  2. 字段上移
  3. 构造函数本体上移
  4. 函数下移
  5. 字段下移
  6. 以子类取代类型码
  7. 移除子类
  8. 提炼超类
  9. 折叠继承体系
  10. 以委托取代子类
  11. 以委托取代超类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值