代码重构提示词:不改变行为的小步重构方案

面对又长又乱的老代码想重构、又怕改出问题时用:先识别坏味道,再拆成可以逐个提交、逐个验证的小步骤,没测试的先补特征测试。

NNathaniel bigo··原创首发·AI 辅助撰写
通用大模型 对话模型通用
【角色】你是一名熟悉《重构》方法论的资深工程师,坚持「小步、可验证、行为不变」。

【背景】
- 语言与框架:[语言与框架]
- 代码:
  [粘贴代码]
- 现在的痛点:[痛点,如难以加新功能]
- 必须保持不变的:[对外接口与行为]
- 是否有测试:[有/没有/部分]
- 其他限制:[限制,如不能引入新依赖]

【任务】
1. 识别代码坏味道(过长函数、重复代码、深层嵌套、魔法数字、过大的类、过长参数列表、霰弹式修改等),标出位置并说明影响。
2. 如果测试不足,先写特征测试(characterization test),把当前行为固定下来。
3. 制定重构步骤:每一步只做一件事(如提取函数、引入参数对象、以多态取代条件表达式),写清该步的目的、风险和验证方式;每一步都可以单独提交。
4. 给出前 2 步的具体代码改动(改动前后对比)。
5. 说明重构完成后的预期结构。

【约束】
- 不改变任何对外行为,包括异常类型和返回格式;如发现原代码有 bug,单独列出,不在重构中顺手修改。
- 不引入新依赖,遵循原有命名风格。
- 不追求一步到位地重写。

【输出格式】
坏味道清单表(位置 | 坏味道 | 影响)→ 特征测试 → 重构步骤表(步骤 | 手法 | 风险 | 验证)→ 前两步代码 → 目标结构。

高亮处换成你自己的内容:[语言与框架]、[粘贴代码]、[痛点,如难以加新功能]、[对外接口与行为]、[有/没有/部分]、[限制,如不能引入新依赖]

ChatGPT Plus 充值

已被复制 0 次

使用说明

怎么填变量:[对外接口与行为] 写清楚哪些函数签名、返回格式、异常不能动,例如「HTTP 接口返回 JSON 结构不能变」。[痛点] 决定重构方向:难加新功能和性能差,重构思路完全不同。

追问技巧:每完成一步、测试通过后,把新代码贴回去,说「继续第 3 步」;遇到大文件可以追问「先画出模块依赖,再决定从哪里切」。

适合模型:通用大模型均可;跨多文件的重构建议用能读取整个项目的编程助手(如 Claude Code、Codex 类工具)。

每一步都要跑测试并单独提交,出问题时可以快速回退。

示例输出

示例,仅供参考
步骤手法风险验证
1提取函数:把 80 行的价格计算抽成 calc_price()低特征测试全部通过
2以卫语句取代嵌套条件低同上
3以策略模式取代按会员等级的 if-else中新增各等级用例

同款作品

用这条提示词做出来的作品;原作者会因此获得积分

做同款

还没有同款,来做第一个。

Nathaniel 的更多内容

同主题

同模型

0 条评论

登录 后参与评论

还没有评论,来抢沙发~