接著昨天的讓AI Debug,分享一個印象很深的例子,
有一支啟動用的小程式,在我的電腦上怎麼跑都失敗,
錯誤訊息寫得很明確:「某某指令不是內部或外部命令。」
這句話翻成白話文,就是「你好像少裝了東西唷」,
於是很自然地Yuno老師下意識動作開始檢查:
有沒有安裝?路徑有沒有設?要不要重裝?
全部都沒問題,但就是跑不起來,
最後找到的原因,跟「少裝東西」一點關係都沒有,
是檔案裡有一段中文路徑,被系統讀成了亂碼,
指令從中間被截斷,剩下半截當然「不是一個指令」。
錯誤訊息沒有說謊,它只是描述了「症狀」,
但我們很容易把症狀,直接當成「原因」,
就像發燒是症狀,但發燒的原因可以有很多種,
只照著「發燒」去處理,會一直退燒,卻不會好。
這件事後來變成課堂上的一個提醒:看到錯誤訊息,先不要照著它說的去修。
先問:它看到了什麼,才會講出這句話?
也順便多了一條很務實的習慣:給程式用的資料夾,路徑盡量用英文。
很土,但可以省下一整個下午。😂
