ChatGPT代码重构需求提示词排行榜(直接可用版)
重构这事儿,说起来简单,做起来全是坑。你让ChatGPT“请重构这段代码”,十有八九它只会帮你调整下缩进,或者换几个变量名——边界条件漏了,逻辑错误还在,甚至可能顺手给你塞进去一个莫名其妙的第三方库。真正管用的提示词,得把目标锁死、把维度讲透、把输出框住。
先说第一个关键:目标要明确,约束要硬。
开门见山,第一句就把重构的核心目的定死。比如“将Python函数重构为支持空输入、时间复杂度O(1)、无重复逻辑的版本”。别指望“让它更好”这种模糊指令能出好结果——得具体到能验证、能量化。
然后,列出3到5条硬性约束,一条一行,不编号。比如:
保留原有函数签名和返回类型
不引入第三方库
所有分支路径必须有对应单元测试注释
变量命名遵循PEP 8 snake_case规范
注意,这一步不能省。缺任何一条,ChatGPT都可能擅自增减参数,或者自作主张改用dataclass。约束就是护栏,得焊死。
最后,用“禁止”句式封住那些常见的失控点。比如:“禁止合并多个if判断为一行”“禁止用三元运算符替代完整条件块”“禁止添加日志、打印或调试语句”。别小看这一步——它能砍掉七成无意义的“美化”操作。
接下来,给模型喂够上下文,但别喂太多。
一个简单的做法:直接粘贴出问题的代码,再加一行说明。比如:“以下是一个解析CSV行的函数,当前在空字段时抛出IndexError:”。代码块用```python包裹,只贴真正出问题的函数体,别带无关的类定义或导入语句。
如果代码太长,改用结构化描述也完全可以。比如:“输入是字典列表,每个字典含'price'(float)、'qty'(int)、'discount'(可选float)。当前逻辑先遍历求sum,再遍历应用discount,导致O(n²)。请改为单次遍历完成总价计算。”这样信息密度更高,模型也容易理解。
需要警惕的是,不提供运行环境信息(比如Python是3.9还是3.12),它可能直接生成f-string或walrus运算符——到时候跑不起来,还得你自己排查。
最后一步也很关键:把输出格式和验证要求写死。
在提示词末尾,强制声明:“仅输出重构后的完整代码,不要解释,不要注释,不要‘改进说明’段落。代码后另起一行写:【验证点】+ 3个可手动检查的特征。”比如:
【验证点】1. 输入[]返回0.0;2. 输入[{'price':10,'qty':2}]返回20.0;3. 'discount'字段缺失时不报错。
这样一来,输出不再是“看起来更干净”的模糊评价,而是能直接复制进测试文件、跑起来就出结果的东西。好用不好用,验证点一测便知。