小失誤,大學問

在最近的項目中,我犯了一個小但致命的錯誤。我在調用類方法時漏掉了self。結果,我遇到了錯誤信息:

update_existing_billing_task() takes 1 positional argument but 2 were given

起初我不明白為什麼會出現這樣的錯誤。重複檢查代碼後,最終我意識到在調用類方法時漏掉了self。這真是個非常基本的錯誤。在發現這一點後,我感到一陣空虛和羞愧。


為什麼會犯這樣的錯誤?

回想起來,我可以想到幾個原因為何會發生這種錯誤。

  1. 自動化思維

    在開發中,我們有時無意識地處理熟悉的工作。在這個過程中忽略細節是很常見的。雖然知道必須使用self,但卻因為專注於寫代碼而犯了這樣的錯誤。

  2. 錯誤信息的錯覺

    "需要1個參數但給了2個"的信息雖然確實解釋了原因,但開始時卻讓我陷入了"哪裡傳遞了2個?"的思考中。因此我未能更快找到問題的本質。

  3. 過於熟悉而放鬆警惕

    隨著對類和方法之間關係的理解加深,反而容易忽略這種基本錯誤


如何減少這樣的錯誤?

  1. 暫時放下代碼,休息一下

    過度專注會導致視野變窄。稍作休息再回到代碼上,會帶來新的視角。

  2. 重新檢查基本語法

    當錯誤無法解決時,需要養成從基本部分重新檢查的習慣。以初學者的心態審視自己的代碼會有幫助。

  3. 將其視為他人的代碼進行審查

    當我覺得自己的代碼是完美的時候,錯誤往往不易被察覺。以他人編寫的代碼來進行審查,更容易發現問題。


最後

開發者並不是不會犯錯的完美存在。我也不例外。重要的是通過錯誤學習和成長的態度。讓我們對自己更寬容,努力減少錯誤的過程將使我們成為更好的開發者。

所以我想對我的同事開發者們說:不要過於緊張,把錯誤當作成長的機會。 😊

Developer Reviewing Code