工作心法

「先寫測試」救不了爛設計,但能救你的週末

測試不是拿來證明程式碼是對的,是拿來讓你晚上睡得著。

admin@banri.local · 2026年8月23日

前陣子重寫一個放了五年的舊系統,同事堅持先寫測試再動手,我心裡其實是抗拒的——先寫測試感覺像是繞遠路,明明可以先把功能生出來,之後再補測試也不遲。

兩週後我發現,測試並沒有讓我的架構突然變好,該糾結的邊界條件還是要一個一個想清楚。但它讓我在半夜改一個緊急 bug 時,不用再對著螢幕祈禱「這次改動應該不會炸別的地方吧」。

測試不是拿來證明程式碼是對的,是拿來讓你晚上睡得著。

好的設計還是得靠經驗和一次次重構累積,測試頂多是一張安全網,不是設計圖本身。但一個能讓你放心手起刀落、大膽刪掉爛程式碼的安全網,已經值回票價。

所以現在我會先問自己:這段邏輯如果三個月後被別人改壞,我會不會馬上發現?如果答案是不會,那就是該補測試的時候了,不是為了漂亮,是為了週末能睡個好覺。