接手屎山代码?这条Prompt让AI帮你重构、读懂、变干净

为什么代码越写越乱?

你肯定遇到过这种情况:接手一个项目,打开代码一看,一个函数800行,变量名叫a、b、c,注释全靠猜。

硬改?怕改崩。不改?看着难受。

这个Prompt模板解决的就是这个问题——让AI帮你安全地理解和重构遗留代码

不是让你把代码全丢给AI让它一键搞定。而是分步骤、有策略地让AI辅助你,每一步都可控、可回滚。


模板一:代码解读(看不懂它在干嘛)

适合场景:打开一段陌生代码,完全不知道逻辑是什么。

请帮我解读以下代码的功能和逻辑:

语言:[Python/Java/JS/Go...]
文件类型:[主业务逻辑/工具函数/配置文件/测试用例]

代码:
[粘贴代码]

请按以下结构回答:
1. 一句话概括这段代码在做什么
2. 输入是什么、输出是什么
3. 核心逻辑流程图(用文字描述即可)
4. 关键变量和函数的作用
5. 潜在问题(命名不规范、重复代码、性能隐患等)
6. 如果我要修改某个功能,应该改哪里

注意:不要直接重写代码,先让我理解现有逻辑。

模板二:大函数拆分(太长不敢动)

适合场景:一个函数超过100行,你想拆但不知道从哪开始。

请帮我重构以下函数,将其拆分为更小的、职责单一的子函数:

原始函数:
[粘贴代码]

重构要求:
1. 按职责拆分(每个子函数只做一件事)
2. 保持原有API行为和输出不变
3. 给出拆分后的函数列表及各自职责说明
4. 标注哪些拆分是安全的(不影响外部调用),哪些需要谨慎
5. 提供重构前后的对比代码

不要一次性全部重写。先给我一个拆分方案,我确认后再输出完整代码。

模板三:命名规范化(变量名像天书)

适合场景:代码里到处都是i、j、k、data、result,看不出来是什么意思。

请帮我优化以下代码中的命名:

代码:
[粘贴代码]

优化原则:
1. 变量名要能自解释(看到名字就知道存的是什么)
2. 函数名要用动词开头,说明做了什么动作
3. 常量用大写+下划线
4. 私有方法加_前缀(如果语言支持)
5. 保持语义不变,只做命名层面的改进

请输出:
- 每个命名变更的对照表(旧名 → 新名 + 为什么这么改)
- 命名优化后的完整代码

模板四:添加注释和文档

适合场景:代码能跑,但没人知道为什么这么写。

请帮我给以下代码添加注释和技术文档:

代码:
[粘贴代码]

要求:
1. 每个函数上方加docstring/JSDoc风格的注释
2. 复杂逻辑处加行内注释解释「为什么」而不是「做了什么」
3. 补充参数说明、返回值说明、异常说明
4. 在文件头部加一段概述,说明这个文件的作用和使用方式
5. 标注哪些地方可能存在边界情况需要注意

注释语言:中文

模板五:渐进式重构(一步步来,别慌)

适合场景:整段代码都很烂,想全面改造但不敢一次动太多。

请帮我制定一个渐进式重构计划:

代码仓库/文件:
[粘贴关键代码或描述项目结构]

当前问题:
- [问题1:比如耦合严重]
- [问题2:比如缺乏错误处理]
- [问题3:比如测试覆盖率低]

重构原则:
1. 每次只改一个方面,确保改动最小化
2. 每一步都能独立运行和测试
3. 优先修复最容易出问题的部分
4. 保留向后兼容,避免破坏现有功能

请输出:
- 分阶段的重构计划(Phase 1 → Phase N)
- 每个阶段的目标、具体操作、验证方式
- 风险最高的步骤及回滚方案

使用技巧

不要一次丢全部代码。 一个文件超过500行的话,分段处理效果更好。先处理核心的业务逻辑,再处理工具函数和辅助类。

让AI先解释,再动手。 很多人跳过解读直接让AI重写,结果改完之后连自己都不知道改了啥。先跑模板一,搞清楚逻辑再动手,安全系数翻倍。

每次改动后跑测试。 重构最怕改崩了还不知道。让AI帮你补充单元测试,或者至少让它告诉你哪些地方可能被影响。

保留原始代码备份。 无论AI怎么改,先git stash一下。这样就算改坏了,一句话就能恢复。


效果示例

场景: 接手一个Python项目,看到一个数据处理函数,300多行,变量名叫d、r、t、x。

用模板一(代码解读)输入后,AI给出:

一句话概括:这个函数读取用户行为日志,按日期和用户ID聚合,计算每个用户的活跃天数和平均在线时长。

核心逻辑:

  1. 读取CSV文件 → d是DataFrame
  2. 清洗脏数据 → r是过滤后的结果
  3. 按用户分组 → t是groupby对象
  4. 计算统计指标 → x是最终输出

关键问题:

  • 变量名完全没有语义,d、r、t、x看不出任何含义
  • 数据清洗和业务计算混在一起,违反了单一职责原则
  • 没有错误处理,文件不存在或格式错误时会直接崩溃
  • 嵌套if-else有5层,可读性极差

用模板二(大函数拆分)后,AI给出拆分方案:

原函数拆分为职责
process_data(d)load_logs(filepath)读取并解析日志文件
clean_records(raw_data)清洗脏数据
aggregate_by_user(records)按用户聚合
compute_metrics(grouped)计算统计指标
format_output(metrics)格式化输出结果

每个子函数不超过50行,且可以独立测试。


💡 下一步: 下次接手别人的代码,别急着上手改。先跑模板一读一遍,心里有底了再用模板二慢慢拆。重构不是换掉所有代码,是让代码变得"明天你也能看懂"。

这篇文章对你有帮助吗?