Type: concept
Confidence: 0.90
Created: 2026-04-25
Updated: 2026-04-25
Tags: 重构代码优化software-engineeringAI工程

重构目录

概述

重构目录是 Martin Fowler重构》(第2版)中的一份精选重构手法集合,为开发者提供了改善现有代码设计的具体方法。

关键内容

  1. 使用方法
  2. 识别代码中的异味(坏味道)
  3. 查找对应的重构手法
  4. 按照步骤执行
  5. 每步完成后进行测试

  6. 核心重构技术

  7. Extract Method提取方法
  8. Inline Method内联方法
  9. Extract Variable提取变量
  10. Inline Variable内联变量
  11. Rename Variable重命名变量
  12. Change Function Declaration(变更函数声明)
  13. Encapsulate Variable封装变量
  14. Introduce Parameter Object引入参数对象
  15. Combine Functions into Class组合函数到类
  16. Split Phase分割阶段

  17. 异味到重构的映射

  18. 长函数Extract MethodReplace Temp with Query
  19. 重复代码Extract MethodPull Up Method、Form Template Method
  20. 大类Extract Class、Extract Subclass
  21. Feature EnvyMove MethodMove Field
  22. 基础类型沉迷Replace Primitive with Object、Replace Type Code with Class
  23. 长参数列表Introduce Parameter Object、Preserve Whole Object
  24. 数据泥团Extract ClassIntroduce Parameter Object
  25. switch语句Replace Conditional with Polymorphism
  26. 臆想泛化 → Collapse Hierarchy、Inline Class、Remove Dead Code
  27. 死代码 → Remove Dead Code

  28. 实施策略

  29. 分阶段推进:快速收益→结构改进→架构改动
  30. 阶段A:快速收益(低风险,高价值)- 重命名变量、提取重复代码、删除死代码
  31. 阶段B:结构改进(中风险)- 从长函数提取方法引入参数对象移动方法
  32. 阶段C:架构改动(高风险)- 用多态替代条件分支、提取类、引入设计模式

  33. 安全准则

  34. 修改 → 测试 → 通过?→ 提交 → 下一步
  35. 每次只做一个小改动
  36. 保持改动最小化
  37. 保证测试始终通过

  38. 高级重构技术

  39. Move Method移动方法
  40. Move Field移动字段
  41. Replace Primitive with Object用对象替换原语
  42. Replace Temp with Query用查询替换临时变量
  43. Decompose Conditional分解条件
  44. Consolidate Conditional Expression合并条件表达式
  45. Replace Nested Conditional with Guard Clauses用卫句替换嵌套条件
  46. Replace Conditional with Polymorphism用多态替换条件
  47. Introduce Special Case引入特例

来源

相关