按規模審查輸出
這裡有個誠實的問題:當智慧體跨越多個任務寫出數百行時,你無法像審查十行 diff 那樣讀完每一行。假裝可以,會導致兩種結果之一:蓋橡皮圖章(不看就批准)或癱瘓(什麼都不信任)。兩者都發布不出東西。
走通的辦法是在幾個層面設卡,而不是把一切都讀完:
- 測試是底線。 相關測試不綠、型別檢查不乾淨,任何智慧體輸出都不得合併。這不可商量,而且是自動的——這部分由機器來做。
- 對高風險部分做抽查。 你讀不完全部,所以讀爆炸半徑高的部分:任何觸及認證、金額、資料刪除或外部呼叫的地方。其餘的,按構建功能那章的危險訊號略讀——它不該碰的檔案、被悄悄刪掉的東西、一個小請求生出的一份巨大 diff。
- 讀 diff,而非整個程式碼庫。
git diff --stat幾秒內就告訴你什麼變了、變了多少。一個劃定到一個模組的任務卻在六個模組裡顯示改動,這是一個訊號:在讀任何一行之前,先更仔細地看。 - 執行它。 一套綠色的測試不是一個能用的應用。點一下那東西。最後的檢查永遠與其他每一章相同:它在你面前,是否真的做了你要它做的事?
劃定範圍在這裡有雙重回報。一個你緊緊劃定範圍的任務會產出一份你真能審查的 diff;一個你放開的任務會產出一份你不能審查的。審查問題大體在上游、在簡報裡就被解決了。