症狀:沒有錯誤,也沒有結果
我們把在 Windows 裝置上順利運作好幾週的腳本搬到 Mac mini。結果沒有任何錯誤訊息,卻也沒有產出任何成果。通知很安靜,日誌是空的。這是最可怕的一種故障。
原因:一行寫死的完整資料夾路徑
腳本裡直接寫著以磁碟代號開頭的資料夾路徑。我們團隊同時使用 Windows 裝置、家裡的電腦和 Mac mini 三台,每台的資料夾路徑都不一樣。遇到不存在的資料夾時,腳本會說「沒有要處理的檔案」然後正常結束。這個毛病一個月內發生了四次。
解法:不要背路徑,讓腳本問自己在哪裡
• **Before**:直接寫死資料夾路徑,換裝置就要人工修改
• **After**:由一個共用模組依據腳本目前所在位置,自動找出基準資料夾
from device_paths import BASE, repo
data_dir = repo("articles") / "data"
只有真正限定某台裝置使用的那幾行,才用「刻意例外」註解豁免。
安全網:數算剩餘數量的監控
每次同步時,檢查腳本都會回報剩餘的寫死路徑數量。數字減少代表整理順利,數字增加就是新程式碼混入了舊習慣的警報。
結果
• 同類事故:每月 4 次 → 0 次
• 新裝置設定:逐檔修改路徑 → 同步後直接執行
• 靜默失敗:變成看得見的檢查數字
沒有錯誤不代表成功。對非開發者的小團隊來說,先堵住「悄悄壞掉的洞」,日子會安心許多。