完成前驗證 (Verification Before Completion)
在宣告任何任務「完成」之前,必須先驗證修復確實有效。
何時使用
- 即將說「完成了」之前
- Bug 修復後
- 功能實作後
- 重構後
核心原則
宣告完成前,必須有證據證明它是完成的
驗證清單
1. 原始問題已解決?
- 重現原始問題的步驟現在產生正確結果
- 錯誤訊息/異常已消失
- 預期行為已實現
2. 沒有引入新問題?
- 所有既有測試通過 (Regression Free)
- 沒有新的警告或錯誤
- 相關功能仍然正常
3. 變更符合規格?
- 實作符合設計文件
- 沒有多餘的實作 (YAGNI)
- 邊界案例已處理
4. 代碼品質達標?
- 有對應的測試驗證
- Lint 檢查通過
- 代碼可讀性良好
驗證方法
| 類型 | 驗證方式 |
|---|---|
| Bug 修復 | 執行重現步驟,確認問題消失 |
| 新功能 | 執行驗收標準測試 |
| 重構 | 所有既有測試通過 |
| 效能優化 | 基準測試顯示改善 |
禁止行為
| 禁止 | 原因 |
|---|---|
| 「應該可以了」 | 沒有驗證 |
| 「測試太慢,跳過」 | 沒有證據 |
| 「我檢查過代碼了」 | 眼睛檢查不可靠 |
| 「這很簡單」 | 簡單的事也會出錯 |
完成標準
只有當以下條件全部滿足時,才可宣告完成:
- ✅ 原始問題已驗證解決
- ✅ 所有測試通過
- ✅ 無新增警告/錯誤
- ✅ 符合規格文件
- ✅ 代碼已提交
常見陷阱
| 陷阱 | 後果 |
|---|---|
| 只測試成功路徑 | 邊界案例爆炸 |
| 在開發環境驗證 | 生產環境不同 |
| 手動驗證一次 | 下次部署又壞 |
| 忽略警告訊息 | 警告變錯誤 |