~/VibeHandbook
免費 PDF

15 · 05

帶著批判地閱讀 diff

diff 就是一份關於究竟改了什麼的清單:紅色行被刪除,綠色行被新增。讀 diff 是 vibe coding 中槓桿率最高的習慣,因為正是在這裡你能抓出 AI 在做你沒要求它做的事。

你不必理解每一行。掃一掃這些危險訊號:

  • 你沒料到會變的檔案。 一個配置檔案為什麼被改動了?
  • 被刪掉的程式碼。 它是不是為了"讓測試通過"而刪掉了一個校驗檢查、一個錯誤處理器,或一個測試?
  • 金鑰或硬編碼的值。 不該出現在程式碼裡的 (Application Programming Interface)key、密碼或 (Uniform Resource Locator——網址)。
  • 被停用的檢查。 一個被跳過的測試、一段被註釋掉的守衛、一個 // @ts-ignore,或者一個被放鬆的許可權。
  • 範圍蔓延(Scope creep)。 離你要求的內容很遠的改動。

如果有什麼看起來不對勁,就問:"解釋一下你為什麼改了 X——我沒要求改那個。" 尤其要讓 AI 為刪除行為辯護。"它在導致報錯"是一個去理解那個報錯的理由,而不是刪掉那個檢查的理由。

一個養成習慣的實用做法:在你接受改動之前讀 diff,絕不在之後。一旦程式碼被合併、應用看起來能跑,你就再也不會回去讀它了——沒有任何摩擦逼著你去讀。審查的那一刻,必須就是決定的那一刻。工具在這裡幫得上忙:git diff --stat 給你每個檔案一行的摘要,讓意料之外的檔案立刻跳出來;在 頁面上審查,會把整個改動呈現在一個可滾動的視圖裡,而不是散落在你編輯器各處。

想離線閱讀?

免費下載整本書的 PDF 或 EPUB。