Loading... | 坏味道(英文) | 坏味道(中文) | 页码 | 常用重构 | | -------------------------------------------- | -------------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Alermative Classes with Different Interfaces | 异曲同工的类 | 83 | 改变函数声明(124)<br/>搬移函数(198)<br/>提炼函数(375) | | Comments | 注释 | 84 | 提炼函数(106)<br/>改变函数声明(124)<br/>引入断言(302) | | Data Class | 纯数据类 | 83 | 封装记录(162)<br/>移除设值韩素(331)<br/>搬移函数(198)<br/>提炼函数(106)<br/>拆分阶段(154) | | Data Clumps | 数据泥团 | 78 | 提炼类(182)<br/>引入参数对象(140)<br/>保持对象完整(319) | | Divergent Change | 发散式变化 | 76 | 拆分阶段(154)<br/>搬移函数(198)<br/>提炼函数(106)<br/>提炼类(182) | | Duplicated Code | 重复代码 | 72 | 提炼函数(106)<br/>移动语句(223)<br/>函数上移(350) | | Feature Envy | 依恋情结 | 77 | 搬移函数(198)<br/>提炼函数(106) | | Global Data | 全局数据 | 74 | 封装变量(132) | | Insider Trading | 内幕交易 | 82 | 搬移函数(198)<br/>搬移字段(207)<br/>隐藏委托关系(189)<br/>以委托取代子类(381)<br/>以委托取代超类(399) | | Large Class | 过大的类 | 82 | 提取类(182)<br/>提炼超类(375)<br/>以子类取代类型码(362) | | Lazy Element | 冗赘的元素 | 80 | 内联函数(115)<br/>内联类(186)<br/>折叠继承体系(380) | | Long Function | 过长函数 | 73 | 提炼函数(106)<br/>以查询取代临时变量(178)<br/>引入参数对象(140)<br/>保持对象完整(319)<br/>以命令取代函数(337)<br/>分解条件表达式(260)<br/>以多态取代条件表达式(272)<br/>拆分循环(227) | | Long Parameter List | 过长参数列 | 74 | 以查询取代临时变量(178)<br/>保持对象完整(319)<br/>引入参数对象(140)<br/>移除标记参数(314)<br/>函数组合成类(144) | | Loops | 循环语句 | 79 | 以管道取代循环(231) | | Message Chains | 过长的消息链 | 81 | 隐藏委托关系(189)<br/>提炼函数(106)<br/>搬移函数(198) | | Middie Man | 中间人 | 81 | 移除中间人(192)<br/>内联函数(115)<br/>以委托取代超类(399)<br/>以委托取代子类(381) | | Mutable Data | 可变数据 | 75 | 封装变量(132)<br/>拆分变量(240)<br/>移动语句(223)<br/>提炼函数(106)<br/>将查询函数和修改函数分离(306)<br/>移除设值函数(331)<br/>以查询取代派生变量(248)<br/>函数组合成类(144)<br/>函数组合成变换(149)<br/>将引用对象改为值对象(252) | | Mysterious Name | 神秘命名 | 72 | 改变函数声明(124)<br/>函数改名(137)<br/>字段改名(244) | | Primitive Obsession | 基本类型偏执 | 78 | 以对象取代基本类型(174)<br/>以子类取代类型码(362)<br/>以多态取代条件表达式(272)<br/>提炼类(182)<br/>引入参数对象(140) | | Refunsed Bequest | 被拒绝的遗赠 | 83 | 函数下移(359)<br/>字段下移(361)<br/>以委托取代子类(381)<br/>以委托取代超类(399) | | Repeated Switches | 重复的switch | 79 | 以多态取代条件表达式(272) | | Shotgun Surgery | 霰弹式修改 | 76 | 搬移函数(198)<br/>搬移字段(207)<br/>函数组合成类(144)<br/>函数组合成变换(149)<br/>拆分阶段(154)<br/>函数内联(115)<br/>内联类(186) | | Speculative Generality | 夸夸其谈通用性 | 80 | 折叠继承体系(380)<br/>函数内联(115)<br/>内联类(186)<br/>改变函数声明(124)<br/>移除死代码(237) | | Temporary Field | 临时字段 | 80 | 提炼类(182)<br/>搬移函数198<br/>引入特例(192) | 最后修改:2025 年 07 月 01 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏