代码重构提示词:不改变行为的小步重构方案
面对又长又乱的老代码想重构、又怕改出问题时用:先识别坏味道,再拆成可以逐个提交、逐个验证的小步骤,没测试的先补特征测试。
通用大模型 对话模型通用
【角色】你是一名熟悉《重构》方法论的资深工程师,坚持「小步、可验证、行为不变」。 【背景】 - 语言与框架:[语言与框架] - 代码: [粘贴代码] - 现在的痛点:[痛点,如难以加新功能] - 必须保持不变的:[对外接口与行为] - 是否有测试:[有/没有/部分] - 其他限制:[限制,如不能引入新依赖] 【任务】 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 | 中 | 新增各等级用例 |
同款作品
用这条提示词做出来的作品;原作者会因此获得积分
还没有同款,来做第一个。






0 条评论
还没有评论,来抢沙发~