Kacam.net看開網

看見世界

程式碼審查:給你一段埋了坑的程式碼

程式碼在提示詞裡,你不用帶自己的。每一份都是一段看起來能跑的程式碼,裡面按嚴重度埋了十條左右的問題 —— 底牌就是那份清單。它先閉嘴讓你自己讀,讀完才報你漏了哪些。

這批提示詞目前只有简体中文的,其他語言還沒有。

怎麼用

材料是我們寫的:一段幾十行、看起來能跑的程式碼,按嚴重度埋了十條左右的問題。所以這個系列不用你帶自己的程式碼,打開就能練。

姿態是拷問:不許劇透、不許誇你、答不上來是正常結局。你說「這裡有並行問題」它不會放過你 —— 要你畫出兩列時間線,算出後果的規模。

怎麼開始

  1. 挑一份,點開它,把提示詞複製走。
  2. 新開一個空對話貼進去,它會先把那段程式碼原樣貼給你。
  3. 自己讀,把發現的問題一條條說完 —— 第一幕它不打斷也不提示。說完了再說一句「沒有了」。

中途隨時能喊的四個口令

  • 跳过 立刻進下一幕
  • 提示 給一個方向,但不給答案
  • 直说吧 講這一點的完整答案,然後繼續追代價
  • 复盘 立刻跳到收尾,輸出複盤卡片

收尾給的是一個數

發現率:自己找到幾條、一共幾條、其中幾條是誤報。還有一個更難看的數 —— 你漏掉的裡有幾條屬於最嚴重那一檔(會丟錢、會洩漏資料、會把服務打掛)。那個數比總分有用。

三條坑

  • 末尾的底牌就是那份問題清單,別自己先讀 —— 讀了這一份就沒得練了。
  • 別報命名和風格。這裡考的是會不會丟錢、會不會洩漏資料,報風格會被記成一次誤報。
  • 它開始誇你的時候,提醒它看「不要誇我」那條。被肯定的感覺會蓋掉「我漏了什麼」。

先做「轉帳」,它是這批裡問題最集中的一份;天天寫介面的直接做「列表介面」,那一份的越權和排序注入最容易在自己專案裡找到同款。做完哪一份都值得回去搜一遍自己的程式碼 —— 這批題真正的產出是收尾那三條可帶走的檢查項。

正確性

评审一段转账代码
二十行的转账接口。你先读一遍,能找出几条?
★★★★☆ · 約 40 分鐘
评审一段缓存代码
读缓存、写数据库、删缓存 —— 这三行的顺序里藏着一小时的脏数据。
★★★★☆ · 約 35 分鐘

可靠性

评审一段重试代码
「失败了就重试三次」——那第一次超时的那笔,对面到底收到没有?
★★★★☆ · 約 35 分鐘

安全與越權

评审一个列表接口
一个分页列表接口。改一个参数,你能看到谁的数据?
★★★★☆ · 約 35 分鐘
评审一段导出和下载
导出 CSV 再提供下载。两个函数,一个能读走服务器上的任意文件。
★★★☆☆ · 約 35 分鐘
這些提示詞是開源的 正文在 kacam-net/hero-prompts 這個公開倉庫裡維護。覺得哪一份問得不夠狠、底牌漏了一條,歡迎去改 —— 站上要不要上架是另一回事,由這邊的清單說了算。