Kleine fouten, diepe lessen

Onlangs heb ik een ogenschijnlijk kleine maar fatale fout gemaakt in een project. Ik vergat self aan te roepen bij het aanroepen van een klasse methode. Het resultaat was dat ik geconfronteerd werd met een foutmelding:

update_existing_billing_task() neemt 1 positioneel argument aan, maar er zijn er 2 gegeven

In het begin begreep ik niet waarom deze fout optrad. Na meerdere keren de code na te hebben gekeken, realiseerde ik me uiteindelijk dat ik het self argument had weggelaten bij het aanroepen van de klasse methode. Het was zo'n fundamentele fout. Toen ik het ontdekte, voelde ik een mengeling van teleurstelling en schaamte.


Waarom heb ik deze fout gemaakt?

Als ik terugkijk, kan ik een paar redenen bedenken waarom deze fout is opgetreden.

  1. Automatismen

    Als je programmeert, doe je soms taken onbewust die je vaak hebt uitgevoerd. In dit proces verlies je vaak details uit het oog. Ik wist dat ik self moest gebruiken, maar doordat ik me volledig op het schrijven van de code concentreerde, maakte ik deze fout.

  2. Illusie van foutmeldingen

    De boodschap "1 argument is vereist, maar er zijn 2 gegeven" legt duidelijk de oorzaak bloot, maar in het begin raakte ik meer gefocust op "waar komt die tweede vandaan?". Hierdoor kon ik de essentie van het probleem niet snel genoeg begrijpen.

  3. Onderdompelen in vertrouwdheid

    Hoe beter je de relatie tussen klassen en methoden begrijpt, hoe meer je dergelijke fundamentele fouten over het hoofd kunt zien.


Hoe kunnen we deze fouten verminderen?

  1. Neem een pauze van de code

    Wanneer je te gefocust bent, wordt je zicht beperkt. Een korte pauze nemen en de code opnieuw bekijken kan je helpen om een nieuw perspectief te krijgen.

  2. Controleer de basisgrammatica opnieuw

    Als een fout niet oplost, moet je de basis opnieuw controleren. Met de geest van een beginner je code herzien helpt hierbij.

  3. Bekijk het als andermans code

    Op het moment dat je denkt dat jouw code perfect is, zie je de fouten vaak niet. Als je het bekijkt als code die door iemand anders is geschreven, kun je problemen gemakkelijker ontdekken.


Tenslotte

Een ontwikkelaar is geen perfect wezen dat geen fouten maakt. Ik ook niet. Het belangrijkste is te leren en te groeien door middel van fouten. We moeten iets meer begripvol naar onszelf zijn en de inspanning leveren om fouten te verminderen, wat ons tot betere ontwikkelaars zal maken.

Daarom wil ik deze boodschap aan mijn mededevelopers overbrengen: maak je niet te veel zorgen en beschouw fouten als een kans om te groeien. 😊

Developer Reviewing Code