代碼審查提示詞:按嚴重程度列出 Bug、安全隱患與可維護性問題
提交合並請求前,或接手別人代碼時用:讓 AI 像資深工程師一樣做 Code Review,按嚴重程度列出問題、定位到具體行,並給出修復代碼。
通用大模型 對話模型通用
【角色】你是一名有 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,))同款作品
用這條提示詞做出來的作品;原作者會因此獲得積分
還沒有同款,來做第一個。


0 條評論
還沒有評論,來搶沙發~