重构改善既有代码设计思维导图
2025-01-06 18:48:20 0 举报
重构改善既有代码设计思维导图;从代码的坏味道到重构手法
作者其他创作
大纲/内容
合并重复的条件片段243
用测试取代异常315
将类内联化154
过多注释
保证每个对象只因一种变化而修改
引入Null对象260
解决过长的参数列
客户端调用的方式,从而拆分类
类型码替换
失血数据类
提炼函数110
提炼超类336
大型重构手法
提炼子类330
重新组织函数
函数改名273
一两个函数或者一大堆额外行为
搬移函数142
依恋情结-某个函数依赖了另外对象的半打数据
模板函数345
字类没有做足够的工作
发散式变化-一处变化,影响多个功能
兄弟类含重复代码,推入超类
封装向下转型308
两个毫不相关的类,提取独立类
使函数携带参数283\\285(拆分独立函数)
内联函数117
数据泥团-多个数据项总是同时出现
分解条件表达式238
用工厂函数取代构造函数304
平行继承体系-不同继承体系有相同前缀
同类的两个函数含有相同的表达式
几乎没用的组件
过长函数-注释、条件表达式,循环
异曲同工的类
不完美的库类
冗余类
彼此相关的变量
移除设置函数300
引入本地拓展164(新类)
以对象取代数据值175
引入外加函数162(包装库)
搬移字段146
用多态去掉条件表达式255
隐藏函数303
提炼接口341
提炼类149
以调用函数取代参数292,参数可以其他地方获取
引入断言267
重复代码
字段上移320\\329
数组中挑选数据
构造函数本体上移325
保证对象完整288(传递整个对象)
拒绝继承
分解临时变量128
移除对参数的赋值131
封装字段206
函数放入对象中,局部变量变为对象内字段构造函数对象,再调用函数
以卫语句取代嵌套条件250
将过程化设计转换为对象设计
过度耦合的消息链
过长参数列
用枚举类\\子类\\状态对象取代类型码218\\223\\227
梳理并分解继承体系
基本类型偏执
在服务类上建立客户所需要的所有函数
数个变量有相同的缀,提取组件或者字类
public字段
将领域和表示分离
简化函数调用
自封装字段174
在对象之间搬移特性
相关行为放在同一个类,使外界变化和需要修改的类一一对应
移除中间人160
小对象:电话?
将引用对象改为值对象183
简化条件表达式
过多的未来性-抽象类、多余参数、方法名,唯一调用测试案例
switch现身,代表重复
封装集合208
隐藏委托关系157
用字面量替换魔法数204
代码类似,差异部分拆分函数,使用模板或者替换方式
用异常取代错误码310
引入参数对象295
消除临时变量
引入解释性变量124
处理概括关系
注释说明的要求
添加参数275\\277
将查询函数和修改函数分离279
将值引用改成引用对象179
移除控制标记245
合并条件表达式240
特殊案例
用委托<=>继承352\\355
观察者模式189
临时变量
替换算法139
用数据类取代记录217
以查询取代临时变量120
亲密关系-划清界限,抽取共性,委托
用对象去掉数组186
单向关联-》双向关联197/200
用字段取代子类232
提炼继承体系
会有参数和临时变量进行传递给新函数
过大的类-过多的变量
函数上移322\\328
散弹式修改-一个功能的实现需要多处修改
内联临时变量119
折叠继承关系344
以函数对象取代函数135
收藏
0 条评论
下一页