Async/await er ikke magi, det er bare langsomme bugs i forklædning
Fejl i koden er ikke et tegn på, at du er dårlig til at programmere – det er et grundvilkår. Forskellen på begyndere og erfarne udviklere er sjældent, hvem der laver færrest fejl, men hvem der har et roligt og struktureret system til at finde og rette dem. Det er præcis det, denne kategori hjælper dig med.
Når noget bryder sammen – siden loader ikke, programmet crasher, eller resultatet bare er forkert – er det fristende at prøve alt muligt i blinde. Det virker nogle gange, men det lærer du meget lidt af. En mere professionel tilgang starter typisk med tre trin:
Resten af artiklerne i denne kategori bygger oven på netop den tankegang: gør problemet lille, synligt og forståeligt.
Det mest undervurderede debugging-værktøj er ganske enkelt: at læse fejlbeskeden langsomt. De fleste værktøjer, kompilere og browsere fortæller dig, hvad der er galt – bare i et lidt teknisk sprog.
I artiklerne her gennemgår vi typiske fejltyper, du møder i f.eks. JavaScript, Python og webudvikling generelt: syntaksfejl, referencefejl, typefejl og logiske fejl. Du lærer, hvor du skal kigge først, og hvilke dele af fejlbeskeden der oftest er vigtigst (linjenummer, filnavn og fejlnavn).
Hvis du er helt i starten af din rejse, kan det også være en hjælp at kombinere din fejlfinding med en mere rolig introduktion til grundbegreber. Kig f.eks. på kategorien logik og grundbegreber, hvor vi gennemgår kontrolstrukturer, variabler og datastrukturer – alt det, som mange fejl ubevidst kommer af.
Uanset om du arbejder med frontend, backend eller små øveprojekter, er der altid værktøjer, der kan hjælpe dig med at se, hvad der egentlig sker i din kode:
console.log eller print()) til at se værdier undervejsI denne kategori finder du guides til, hvordan du bruger disse værktøjer uden at drukne i information. Du lærer bl.a. at sætte få, velvalgte log-linjer ind, at tjekke antagelser ("er denne variabel overhovedet det, jeg tror den er?") og at bruge breakpoints, når print ikke længere er nok.
Når du bevæger dig fra små øvelser til egentlig software- og webudvikling, bliver struktureret fejlfinding endnu vigtigere. Fejl viser sig ofte et helt andet sted, end de egentlig opstår, og flere personer kan være inde over den samme kodebase.
Her hænger debugging tæt sammen med emner som versionsstyring, test, logging og god projektstruktur. Du kan med fordel kombinere indholdet her med kategorien softwareudvikling i praksis, hvor du finder stof om bl.a. versionsstyring, teststrategier og arkitektur – alt sammen noget, der gør det lettere at finde og rette fejl uden panik.
Hvis du er ny inden for programmering, kan det føles som om, du "spilder tid", når du sidder fast i en fejl. I praksis er det ofte dér, du lærer mest – hvis du gør det struktureret.
En god vane er at dokumentere dine fejl: skriv kort ned, hvad problemet var, hvordan du fandt det, og hvad løsningen blev. Det gør det lettere at genkende mønstre næste gang – og det er guld værd, hvis du senere vil vise din udviklingsproces frem i en portefølje eller til en potentiel arbejdsgiver.
Har du brug for hjælp til selve måden, du lærer og øver på, så kan du kigge forbi kategorien læringsstrategi og studieteknik. Her arbejder vi med, hvordan du planlægger din læring, håndterer frustration og fastholder motivationen – også når fejlene står i kø.
Effektiv fejlfinding gør dig både hurtigere og tryggere som udvikler. Når du har styr på det grundlæggende her i kategorien, giver det rigtig god mening at bygge ovenpå med mere målrettede emner:
Uanset hvor du er i din læringsrejse, er målet her det samme: at gøre dig tryg ved, at fejl ikke er en mur, men et kompas, der peger dig i retning af, hvad du skal lære næste gang.