type-level-correctnessstate-machinesexhaustiveness-checkingtypescript 編譯器應該抓住遺漏的狀態案例,而不是你的 QA 團隊 在state machine中新增狀態很簡單。記得更新每一個 switch 語句則不然。以下是讓 TypeScript 在你忘記處理某個案例時拒絕編譯的方法。 state machine一開始很乾淨。三個值,三個 switch 分支。然後重試邏輯加入了第四個狀態。部分失敗加入了第五個。你更新了 reducer,卻漏掉了狀態徽章元件、analytics mapper 和匯出格式化程式。 一切都能編譯通過。這個 bug… 2026年6月19日