Skip to content

代码审查与重构

背景: 项目中 src/utils/ 目录下有多个工具函数文件,存在重复逻辑,需要审查并重构。

完整的重构 SOP 见SOP:重构迁移。这里用一个具体场景演示重构流程。

第一步:让 Claude 发现问题

读取 src/utils/ 下所有文件,找出重复的逻辑。不要直接修改,先在 plan.md 中写出重构方案。

Claude 的典型分析输出:

▶ 分析结果:
  1. format.ts 中 formatDate 和 parseDate 都包含 ISO 时间解析逻辑,可合并
  2. validate.ts 中的 email 正则与 format.ts 中的 email 格式化使用了同一正则
  3. logger.ts 中三种日志级别的封装结构几乎相同,可抽取为通用函数

第二步:审查方案

确认 Claude 的方案是否合理——不要全盘接受:

  • 是否真的需要拆出 patterns.ts?如果正则只被两个文件用,保持原位可能更简单
  • 重构后对外接口是否不变?调用方不需要改代码
  • 是否有"不做的事"——比如不要同时重构所有文件,分批做更安全

第三步:执行重构

按 plan.md 的方案重构。重构后运行 npm test,确认所有测试通过。
对外接口不变——调用方不需要修改。

第四步:验证

运行完整测试套件,确认重构没有引入新问题。
搜索是否有残留的旧代码引用(import 旧路径、调用旧函数名)。

关键经验

  • 重构前必须有测试覆盖——没有测试就先让 Claude 补写测试
  • 审查 Claude 的方案时特别关注"是否过度抽象"——三行代码能解决的不要拆成三个文件
  • 每次只重构 2-3 个文件,完成后 checkpoint commit
  • 完整 SOP 见SOP:重构迁移SOP:审查发布

基于 MIT 协议发布