DeepSeek做代码评审有哪些适合新手的提示词
DeepSeek做代码评审,很多新手最头疼的并不是模型本身,而是不知道怎么写提示词——写得太笼统,它就会礼貌性地夸几句“结构清晰”“逻辑合理”,然后你好不容易得来的评审机会就这么浪费了。其实,问题不在模型,而在指令。

让DeepSeek当质检员,不是表扬信撰写员
第一步:明确告诉它你不要听好话。
在提示词开头加一句:
【禁止使用“整体良好”“设计合理”“无明显错误”等模糊评价】
第二步:强制它站在破坏者角度思考。
写清楚:“请以黑客、运维、未来接手你代码的实习生三种身份,逐行扫描这段代码。”——这三种视角分别覆盖了安全、稳定性和可维护性,比单纯的“找bug”要精准得多。
第三步:限定输出必须带触发条件和修复动作。
比如不能只说“缺少空值检查”,而要写成:“当传入 null 时 → 程序抛出 NullPointerException → 在第12行前添加 if (input == null) throw new IllegalArgumentException();” 这种写法把问题、场景、修复方案一次性的交代清楚,拿到就能用。
新手三步可抄的提示词模板
方法一:边界+并发+权限三连问
直接复制粘贴这句(替换方括号内容即可):
“请用‘毁灭性评审官’角色审查以下[Python/Ja va/JS]代码:[粘贴代码]。重点检查:① 所有函数输入是否校验空值、负数、超长字符串;② 若该函数被两个线程同时调用,是否会因共享变量出错;③ 普通用户能否通过修改请求参数访问管理员专属逻辑。”
方法二:按严重度排序输出
“请列出这段代码中所有可能引发数据丢失或越权访问的问题,按致命 > 严重 > 麻烦排序,每条必须包含:触发条件、破坏结果、最小修复动作。不要解释原理,只要可执行项。”
这个写法会让DeepSeek跳过“为什么”,直奔“怎么修”,特别适合赶迭代的新手——你不需要它给你上一堂计算机科学课,你只需要它精准指出哪里有问题、怎么改。
方法三:带示例引导的精准指令
先给一个正确示范再让它照做:
“参考格式:
| 1 | 边界条件 | 用户传入空数组 | 返回空列表而非抛异常 | 在第8行 catch(ArrayIndexOutOfBoundsException) 后加 return Collections.emptyList() | 致命 |
请按同样格式评审以下代码:[粘贴代码]”
这一步操作起来很简单,直接把文件拖进去就行,格式对上了,输出就不会跑偏。
新手最容易踩的三个坑
第一个坑:不贴完整上下文。
只扔一段 for 循环让DeepSeek审,它根本不知道 i 是从哪来的、list 是否已初始化、外面有没有 try-catch——这些信息缺失会导致漏判90%以上的空指针风险。代码评审不是考阅读理解,信息越完整,模型输出越靠谱。
第二个坑:用“帮我看看有没有bug”这种开放式提问。
DeepSeek会默认返回“未发现明显语法错误”,因为它没收到任何检查维度指令。没有方向,它只能给你一个最小安全答案——这恰恰是最没用的答案。
第三个坑:忘了声明技术栈版本。
比如你用的是 Spring Boot 3.2,但提示词没写,它可能按 2.x 的 SecurityConfig 写法给你建议,结果代码跑不起来。