Skip to content

重构计划模板

使用这个模板来记录和跟踪你的重构工作。


项目信息

字段
项目 / 模块[项目名称]
目标文件[要重构的文件列表]
创建日期[日期]
作者[姓名]
状态Draft / In Review / Approved / In Progress / Completed

执行摘要

目标

  • [主要目标:例如,提升支付流程可读性]
  • [次要目标:例如,减少重复代码]
  • [第三目标:例如,提升可测试性]

约束

  • [约束 1:例如,不能改公共 API]
  • [约束 2:例如,必须保持向后兼容]
  • [约束 3:例如,不能改数据库 schema]

风险等级

  • Low - 小改动,测试充分
  • Medium - 中等改动,有一定风险
  • High - 大改动,需要特别注意

重构前检查清单

测试覆盖评估

指标当前值目标值状态
单元测试覆盖率__%≥80%
集成测试Yes/NoYes
所有测试通过Yes/NoYes

开始前必须满足

  • 所有测试通过
  • 已读懂并审查代码
  • 已有备份 / 版本控制
  • 已获得用户批准

已识别的代码异味

摘要

#异味位置严重性优先级
1[例如,Long Method][file:line]HighP1
2[例如,Duplicate Code][file:line]MediumP2
3[例如,Feature Envy][file:line]LowP3

详细分析

异味 #1:[名称]

位置path/to/file.js:45-120

描述:[对问题的详细描述]

影响

  • [影响 1]
  • [影响 2]

建议方案:[如何修复的简要说明]


重构阶段

阶段 A:快速收益(低风险)

目标:快速、低风险的改进,立刻产生价值

预计改动:[X 个文件,Y 个方法]

需要用户批准:Yes / No

#任务文件重构手法状态
A1将变量 x 重命名为 userCountutils.js:15Rename Variable[ ]
A2删除未使用的 oldHandler()api.js:89Remove Dead Code[ ]
A3提取重复的验证逻辑form.js:23,67Extract Method[ ]

回滚方案:回退 A1-A3 的提交


阶段 B:结构优化(中风险)

目标:改善代码组织和清晰度

预计改动:[X 个文件,Y 个方法]

需要用户批准:Yes

依赖:必须先完成阶段 A

#任务文件重构手法状态
B1从长函数中提取 calculatePrice()order.js:45Extract Method[ ]
B2引入 OrderDetails 参数对象order.js:12Introduce Parameter Object[ ]
B3formatAddress() 移动到 Address 类customer.js:78Move Method[ ]

回滚方案:回滚到阶段 A 完成后的提交


阶段 C:架构改动(高风险)

目标:处理更深层的结构问题

预计改动:[X 个文件,Y 个方法]

需要用户批准:Yes

依赖:必须先完成阶段 A 和 B

#任务文件重构手法状态
C1用多态替换价格 switchpricing.js:30Replace Conditional with Polymorphism[ ]
C2提取 NotificationServiceuser.js:100Extract Class[ ]

回滚方案:回滚到阶段 B 完成后的提交


详细重构步骤

任务 [ID]:[任务名称]

对应异味:[异味名称]

重构手法:[手法名称]

风险等级:Low / Medium / High

上下文

重构前(当前状态):

javascript
// 把当前代码贴在这里

重构后(期望状态):

javascript
// 把期望代码贴在这里

逐步操作

  1. 步骤 1:[描述]

    • 测试:完成此步后运行测试
    • 预期:所有测试通过
  2. 步骤 2:[描述]

    • 测试:完成此步后运行测试
    • 预期:所有测试通过
  3. 步骤 3:[描述]

    • 测试:完成此步后运行测试
    • 预期:所有测试通过

验证

  • 所有测试通过
  • 行为未改变
  • 代码可编译
  • 没有新的警告

提交信息

refactor: [描述这次重构]

进度跟踪

阶段状态

阶段状态开始时间完成时间测试是否通过
ANot Started / In Progress / Done
BNot Started / In Progress / Done
CNot Started / In Progress / Done

遇到的问题

#问题解决方案状态
1[描述][如何解决]Open / Resolved

指标对比

重构前

指标文件 1文件 2总计
代码行数
圈复杂度
可维护性指标
方法数量
平均方法长度

重构后

指标文件 1文件 2总计变化
代码行数
圈复杂度
可维护性指标
方法数量
平均方法长度

重构后检查清单

  • 所有测试通过
  • 没有新的警告或错误
  • 代码成功编译
  • 已完成手工验证
  • 文档已更新(如需要)
  • 已完成代码审查
  • 指标有改善
  • 已获得用户签字确认

经验总结

做得好的地方

  • [Item 1]
  • [Item 2]

可以改进的地方

  • [Item 1]
  • [Item 2]

未来建议

  • [Item 1]
  • [Item 2]

批准

角色姓名日期签名
Plan Author
Technical Lead
Product Owner

附录

A. 相关文档

  • [相关文档链接]

B. 参考资料

  • [代码异味目录]
  • [重构目录]

C. 使用的工具

  • [测试框架]
  • [Lint 工具]
  • [复杂度分析工具]