坏味道与重构手法速查表

坏味道(英文)坏味道(中文)释义常用重构手法
Alternative Classes with Different Interfaces异曲同工的类改变函数声明,搬移函数,提炼超类
Comments注释提炼函数,改变函数声明,引入断言
Data Class纯数据类拥有一些字段以及访问这些字段的函数,除此之外一无长物封装记录,移除设值函数,搬移函数,提炼函数,拆分阶段
Data Clumps数据泥团不同类中相同的字段,不同函数签名中相同的参数等提炼类,引入参数对象,保持对象完整
Divergent Change发散式变化某个模块经常因为不同的原因在不同的方向上发生变化拆分阶段,搬移函数,提炼函数,提炼类
Duplicated code重复代码多个地方出现相同/相似的代码结构提炼函数,移动语句,函数上移
Feature Envy依恋情结一个函数跟另一个模块中的函数或者数据交流格外频繁,远胜于在自己所处模块内部的交流搬移函数,提炼函数
Global Data全局数据封装变量
Insider Trading内幕交易模块之间大量交换数据搬移函数,搬移字段,隐藏委托关系,以委托取代子类,以委托取代超类
Large Class过大的类提炼类,提炼超类,以子类取代类型码
Lazy Element冗赘的元素额外的结构(类和函数)内联函数,内联类,折叠继承体系
Long Function过长函数提炼函数,以查询取代临时变量,引入参数对象,保持对象完整,以命令取代函数,分解条件表达式,以多态取代条件表达式,拆分循环
Long Parameter List过长参数列以查询取代参数,保持对象完整,引入参数对象,移除标记参数,函数组合成类
Loops循环语句以管道取代循环
Message Chains过长的消息链隐藏委托关系,提炼函数,搬移函数
Middle Man中间人不干实事移除中间人,内联函数,以委托取代超类,以委托取代子类
Mutable Data可变数据封装变量,拆分变量,移动语句,提炼函数,将查询函数和修改函数分离,移除设值函数,以查询取代派生变量,函数组合成类,函数组合成变换,将引用对象改成值对象
Mysterious Name神秘命名阅读者需要去猜测该名称表明的功能和用法改变函数声明,变量改名,字段改名
Primitive Obsession基本类型偏执以对象取代基本类型,以子类取代类型码,以多态取代条件表达式,提炼类,引入参数对象
Refused Bequest被拒绝的遗赠子类拒绝支持超类的接口函数下移,字段下移以委托取代子类,以委托取代超类
Repeated Switches重复的switch以多态取代条件表达式
Shotgun Surgery霰弹式修改每遇到某种变化,你都必须在许多不同的类内做出许多小修改搬移函数,搬移字段,函数组合成类,函数组合成变换,拆分阶段,内联函数,内联类
Speculative Generality夸夸其谈通用性企图以各式各样的钩子和特殊情况来处理一些不知远在何处的事情折叠继承体系,内联函数,内联类,改变函数声明,移除死代码
Temporary Field临时字段提炼类,搬移函数,引入特例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值