小失誤,大學問
在最近的項目中,我犯了一個小但致命的錯誤。我在調用類方法時漏掉了self
。結果,我遇到了錯誤信息:
update_existing_billing_task() takes 1 positional argument but 2 were given
起初我不明白為什麼會出現這樣的錯誤。重複檢查代碼後,最終我意識到在調用類方法時漏掉了self
。這真是個非常基本的錯誤。在發現這一點後,我感到一陣空虛和羞愧。
為什麼會犯這樣的錯誤?
回想起來,我可以想到幾個原因為何會發生這種錯誤。
- 自動化思維
在開發中,我們有時無意識地處理熟悉的工作。在這個過程中忽略細節是很常見的。雖然知道必須使用
self
,但卻因為專注於寫代碼而犯了這樣的錯誤。 - 錯誤信息的錯覺
"需要1個參數但給了2個"的信息雖然確實解釋了原因,但開始時卻讓我陷入了"哪裡傳遞了2個?"的思考中。因此我未能更快找到問題的本質。
- 過於熟悉而放鬆警惕
隨著對類和方法之間關係的理解加深,反而容易忽略這種基本錯誤。
如何減少這樣的錯誤?
- 暫時放下代碼,休息一下
過度專注會導致視野變窄。稍作休息再回到代碼上,會帶來新的視角。
- 重新檢查基本語法
當錯誤無法解決時,需要養成從基本部分重新檢查的習慣。以初學者的心態審視自己的代碼會有幫助。
- 將其視為他人的代碼進行審查
當我覺得自己的代碼是完美的時候,錯誤往往不易被察覺。以他人編寫的代碼來進行審查,更容易發現問題。
最後
開發者並不是不會犯錯的完美存在。我也不例外。重要的是通過錯誤學習和成長的態度。讓我們對自己更寬容,努力減少錯誤的過程將使我們成為更好的開發者。
所以我想對我的同事開發者們說:不要過於緊張,把錯誤當作成長的機會。 😊

Add a New Comment