代碼審查提示詞:按嚴重程度列出 Bug、安全隱患與可維護性問題

提交合並請求前,或接手別人代碼時用:讓 AI 像資深工程師一樣做 Code Review,按嚴重程度列出問題、定位到具體行,並給出修復代碼。

NNathaniel bigo··原創首發·AI 輔助撰寫
通用大模型 對話模型通用
【角色】你是一名有 10 年經驗的 [語言/框架] 高級工程師,做過大量代碼審查,關注正確性和安全性勝過代碼風格。

【背景】
- 這段代碼的作用:[代碼作用]
- 運行環境與調用場景:[運行環境](如 Web 後端接口、定時任務、前端組件)
- 本次改動的目的:[改動目的]
- 重點關注:[審查重點,如並發、安全]
- 代碼(如有 diff 請貼 diff):
  [粘貼代碼]

【任務】
按以下維度審查,只報告真實存在的問題:
1. 正確性:邏輯錯誤、邊界條件(空值、空集合、越界、時區、精度)、異常處理、資源釋放;
2. 安全:注入(SQL、命令)、XSS、鑑權與越權、敏感資料泄露、不安全的反序列化;
3. 並發與性能:競態條件、N+1 查詢、不必要的循環或內存佔用;
4. 可維護性:命名、函數過長、重複代碼、缺少測試的關鍵分支。

【約束】
- 每個問題都要指出具體位置(行號或函數名)並說明「為什麼是問題」以及觸發條件。
- 不確定的問題標註「需確認」,說明需要哪些上下文。
- 純格式問題(交給 linter 的)最多提一條彙總。
- 修復建議給出最小改動的代碼,不重寫整個文件。

【輸出格式】
1. 總體評價(2–3 句);
2. 問題表:嚴重程度(阻斷 / 嚴重 / 一般 / 建議)| 位置 | 問題 | 原因與觸發條件 | 修復建議;
3. 阻斷和嚴重問題的修復代碼;
4. 做得好的地方(1–3 條)。

高亮處換成你自己的內容:[語言/框架]、[代碼作用]、[運行環境]、[改動目的]、[審查重點,如並發、安全]、[粘貼代碼]

ChatGPT Plus 充值

已被複製 0 次

使用說明

怎麼填變量:[運行環境] 和 [改動目的] 能大幅減少誤報;貼 diff 時最好附上被調用函數的簽名。一次貼 300 行以內效果最好,太長就按文件分批。

追問技巧:對某條問題有疑問,追問「給出能復現這個問題的輸入或測試用例」;修完後把新代碼貼回去,說「只檢查上次指出的問題是否修復」。

適合模型:通用大模型均可;Claude、GPT 的推理模式在並發和安全問題上更細緻。

不要把密鑰、內網地址或公司保密代碼貼給外部模型,先遵守所在團隊的數據安全規定;AI 審查不能替代人工審查和測試。

示例輸出

示例,僅供參考
嚴重程度位置問題修復建議
嚴重get_user() 第 12 行用字符串拼接 SQL,user_id 來自請求參數,可被注入改用參數化查詢
一般第 30 行循環內逐條查訂單,N+1 查詢改為一次 IN 查詢
python
cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))

同款作品

用這條提示詞做出來的作品;原作者會因此獲得積分

做同款

還沒有同款,來做第一個。

Nathaniel 的更多內容

同主題

同模型

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~