工作心法
「先寫測試」救不了爛設計,但能救你的週末
測試不是拿來證明程式碼是對的,是拿來讓你晚上睡得著。
前陣子重寫一個放了五年的舊系統,同事堅持先寫測試再動手,我心裡其實是抗拒的——先寫測試感覺像是繞遠路,明明可以先把功能生出來,之後再補測試也不遲。
兩週後我發現,測試並沒有讓我的架構突然變好,該糾結的邊界條件還是要一個一個想清楚。但它讓我在半夜改一個緊急 bug 時,不用再對著螢幕祈禱「這次改動應該不會炸別的地方吧」。
測試不是拿來證明程式碼是對的,是拿來讓你晚上睡得著。
好的設計還是得靠經驗和一次次重構累積,測試頂多是一張安全網,不是設計圖本身。但一個能讓你放心手起刀落、大膽刪掉爛程式碼的安全網,已經值回票價。
所以現在我會先問自己:這段邏輯如果三個月後被別人改壞,我會不會馬上發現?如果答案是不會,那就是該補測試的時候了,不是為了漂亮,是為了週末能睡個好覺。