Hvad er den bedste måde at øve sig i kodning på? | Actualize

Du har fundet et godt kursus, en god vejledning eller en bog, der kan lære dig at kode. Ressourcen taler til dig, den giver perfekt mening, og du lærer en masse. Du er med succes begyndt din rejse i at lære at kode. Godt for dig!

Det næste skridt er naturligvis at praktisere det, du har lært. Hvis det ikke er indlysende, så er øvelse afgørende for læringsprocessen. Det gælder for alle fag, og det gælder bestemt også for kodning. Forestil dig at forsøge at lære violinen udelukkende ved at se nogen spille den, uden at du nogensinde selv har rørt violinen. Det samme gælder med kodning: Du kan forstå begreberne klart og tydeligt, men du kan aldrig blive dygtig til det uden at øve dig i massevis.

Men hvordan øver man sig? Eller bedre sagt: Hvad er den bedste måde at øve sig i kodning på?

De forskellige mennesker fungerer forskelligt, så der er ikke nødvendigvis én bedste måde for alle. Jeg vil dog gerne præsentere en specifik, effektiv tilgang, som du måske ikke tidligere har overvejet.

Bestsellerforfatter og blogger James Clear skriver udførligt om en type praksis kaldet “deliberate practice” (bevidst praksis). Jeg kan varmt anbefale at læse hans blogindlæg om dette emne. To gode artikler til at starte med er her og her.

Clear skriver, at “bevidst praksis henviser til en særlig type praksis, som er målrettet og systematisk. Mens almindelig træning måske omfatter tankeløse gentagelser, kræver bevidst træning fokuseret opmærksomhed og udføres med det specifikke mål at forbedre præstationen.”

Bevidst træning består af følgende komponenter:

  1. Du møder op for at lave dine reps.
  2. Bryd den overordnede proces ned i dele
  3. Måler dig selv
  4. Test nye strategier for hver del
  5. Integrer din læring i den overordnede proces.

Lad os forklare, hvad disse trin betyder, og specifikt i forhold til at øve sig i kodning. I øvrigt er disse strategier ikke kun for nybegyndere inden for kodning. De kan også bruges af erfarne softwareingeniører for at hjælpe dem med at højne niveauet i deres færdigheder.

1. Mød op for at lave dine reps

Skær tid ud hver dag til at øve dig i kodning. Prøv så vidt muligt aldrig at gå glip af en eneste dag – hold stregen i gang! Det er bedre at øve sig i kortere tid hver dag end at øve sig i en længere periode en gang om ugen. Jeg anbefaler at bygge øvelsestid ind i dit daglige skema i stedet for at forsøge at finde tid hver dag til at klemme det ind.

2. Opdel den overordnede proces i dele

De fleste aspekter af kodning består af flere forskellige dele. Opbygning af en webapp kan f.eks. bestå af back-end-programmering og front-end-programmering. Back-end-programmering kan igen opdeles i anvendelse af et server-side sprog, et server-side framework og databasedesign. Front-end-programmering kan opdeles i brug af HTML, CSS, JavaScript og en front-end-ramme. Og så er der brugen af udviklerværktøjer som f.eks. terminalen, en teksteditor og versionsstyring.

Dedikér hver øvelsessession til en af disse mindre komponenter, hvis det er muligt, da dette vil give dig mulighed for at finpudse hver enkelt specifik færdighed. Ellers kan det ende med, at du kommer til at kæmpe med alle de bevægelige dele på én gang og aldrig bliver rigtig dygtig til hver af delfærdighederne. Du vil måske kunne lave webapp efter webapp, men kvaliteten af din webapp vil måske ikke stige med tiden, da du ikke rigtig bliver bedre til nogen af de enkelte færdigheder. (At integrere de bevægelige dele sammen er i sig selv en færdighed, som du opnår, men det er kun en af de mange færdigheder, der er involveret). På den anden side, hvis du kan højne niveauet for hver enkelt delfærdighed, vil de webapps, du bagefter bygger ved hjælp af disse skærpede delfærdigheder, være markant bedre.

3. Mål dig selv

Selv om kvalitet generelt er svær at måle, er der måder, hvorpå du kan måle dit færdighedsniveau inden for kodning ud fra et kvantitativt perspektiv. Et eksempel er at måle den tid, det tager dig at udføre en opgave. Det kan f.eks. tage dig 20 minutter at løse en grundlæggende algoritme i JavaScript. Du kan fortsætte med at øve dig i grundlæggende JavaScript-algoritmer og se, om du kan opnå større færdighed, så det måske tager mindre tid for dig. Generelt gælder det, at jo mere flydende man er i en kodningsopgave, jo mindre tid vil det tage at udføre den pågældende opgave.

En anden faktor er antallet af fejlmeddelelser, du er stødt på under din opgave. Hvis du under løsningen af en JavaScript-algoritme ender med at modtage 5 fejlmeddelelser, før du får den rigtige, kan du fortsætte med at øve dig og se, om du kan løse lignende algoritmer, mens du får færre fejlmeddelelser. Der er selvfølgelig ikke noget galt med at få fejlmeddelelser, men ved at få færre fejlmeddelelser er det generelt et tegn på øget flydende færdighed i din færdighed.

4. Afprøv nye strategier for hvert afsnit

Et vigtigt aspekt ved bevidst øvelse er, at du ikke bare tankeløst øver en given færdighed. I stedet noterer du dig dine svagheder og afprøver nye strategier, der muligvis kan hjælpe dig til at blive bedre. Hvis du fortsætter med vores JavaScript-algoritmeanalogi, kan du teste forskellige tilgange for at se, om de hjælper dig med at løse problemer hurtigere eller med færre fejlmeddelelser. Hvad sker der for eksempel, når du konsekvent bruger “while-loops” i stedet for “for..in-loops”? Hjælper det dig til at løse koden hurtigere? Eller hjælper det dig med at løse problemerne mere effektivt, hvis du tegner visuelle tegninger på et stykke papir, inden du skriver dit første tegn? Hjælper det at skrive psuedokode? Forskellige tilgange virker for forskellige mennesker – men du kan opdage, hvilke tilgange der virker for dig.

5. Integrer din læring i den overordnede proces

Når du finpudser hver enkelt delfærdighed, skal du gå tilbage og oprette en ny webapp igen. Forhåbentlig vil dine øgede færdigheder i – lad os sige JavaScript – hjælpe dig med at skrive den webapp lettere, mere effektivt eller med større selvtillid.

Slutning

Nøglen til bevidst øvelse er ikke at øve sig tankeløst og håbe på, at du bliver bedre. I stedet kan du specifikt teste dit niveau af færdigheder nu og bevidst prøve nye tilgange og se konkrete, målbare forbedringer.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.