0%

重构速查表

✔️1. 重构原则
1.1 何谓重构
1.2 为何重构 重构改进软件设计 重构使软件更容易理解 重构帮助找到bug
重构提高编程速度
1.3 何时重构 三次法则 添加功能更时重构 修补错误时重构
复审代码时重构
1.4 怎么对经理说
1.5 间接层和重构
1.6 重构的难题 数据库 修改接口 难以通过重构手法完成的设计改动
何时不该重构
1.7 重构与设计
1.8 重构与性能
1.9 重构起源何处
✔️2. 代码的坏味道 重复代码 过长函数 过大的类 过长参数列
发散式变化 霰弹式修改 依恋情节 数据泥团
基本类型偏执 switch惊悚现身 平行继承体系 冗赘类
夸夸其谈未来性 令人迷惑的暂时字段 过渡耦合的消息链 中间人
狎昵关系 异曲同工的类 不完美的库类 纯粹的数据类
被拒绝的遗赠 过多的注释
✔️3. 构筑测试体系 自测试代码的价值 JUnit测试框架 添加更多测试
✔️4. 重新组织函数 提炼函数 内联函数 内联临时变量 以查询取代临时变量
引入解释性变量 分解临时变量 移除对参数的赋值 移除对参数的赋值
替换算法
✔️5. 在对象之间搬移特性 搬移函数 搬移字段 提炼类 将类内联化
隐藏委托关系 隐藏委托关系 引入外加函数 引入本地扩展
✔️6. 重新组织数据 自封装字段 以对象取代数据值 将值对象改为引用对象 将引用对象改为值对象
以对象取代数组 复制“被监视数据” 将单向关联改为双向关联 将双向关联改为单向关联
以字面常量取代魔法数 封装字段 封装集合 以数据类取代记录
以类取代类型码 以子类取代类型码 以Strate/Strategy取代类型码 以字段取代子类
✔️7. 简化条件表达式 简化条件表达式 合并条件表达式 合并重复的条件片段 移除控制标记
以卫语句取代嵌套条件表达式 以多态取代条件表达式 引入Null对象 引入断言
✔️8. 简化函数调用 函数改名 添加参数 移除参数 将查询函数和修改函数分离
令函数携带参数 以明确函数取代参数 保持对象完整 以函数调用取代参数
引入参数对象 移除设值函数 隐藏函数 以工厂函数取代构造函数
封装向下转型 以异常取代错误码 以测试取代异常
✔️9. 处理概括关系 字段上移 函数上移 构造函数本地上移 函数下移
字段下移 提炼子类 提炼超类 提炼接口
折叠继承体系 塑造模板函数 以委托取代继承 以继承取代委托

重构与代码规范书籍推荐:

  • 重构-改善既有代码的设计》
  • 《代码整洁之道》

重构与代码规范在线学习资源推荐:

欢迎关注我的其它发布渠道