Hjem » Siste artikler » Enkel innføring i metoder: bygg mindre, ryddigere og mer gjenbrukbar kode

Enkel innføring i metoder: bygg mindre, ryddigere og mer gjenbrukbar kode

Hovedillustrasjon
Hovedillustrasjon. Foto: Daniil Komov / Unsplash.

Mange som lærer seg å programmere starter med én lang kodesnutt i en fil. Det fungerer en stund, men blir raskt vanskelig å lese, teste og endre. Løsningen er som regel å dele opp koden i mindre biter.

Metoder (også kalt funksjoner) er en av de viktigste byggesteinene for å få dette til. I denne artikkelen ser vi praktisk på hva metoder er, hvorfor de hjelper deg, og hvordan du kan bruke dem mer bevisst i egen kode.

Hva er en metode, egentlig?

En metode er en navngitt bit kode som gjør én spesifikk jobb, og som kan brukes flere ganger. I stedet for å kopiere samme kode mange steder, putter du den i en metode og kaller metoden der du trenger den.

De fleste språk har metoder eller funksjoner, men syntaksen varierer litt. Prinsippene er like: en metode kan ta inn verdier (parametere), gjøre noe arbeid, og eventuelt gi en verdi tilbake (return-verdi).

Et første eksempel i JavaScript

La oss si at du flere steder i et program vil regne ut pris med mva. Uten metoder kan det se slik ut:

Uten metode:

let pris1 = 200;
let prisMedMva1 = pris1 * 1.25;

let pris2 = 350;
let prisMedMva2 = pris2 * 1.25;

let pris3 = 99;
let prisMedMva3 = pris3 * 1.25;

Samme formel gjentas. Om mva-satsen endrer seg, må du lete etter alle steder i koden der den brukes.

Med metode:

function prisMedMva(pris) {
  return pris * 1.25;
}

let pris1 = 200;
let prisMedMva1 = prisMedMva(pris1);

let pris2 = 350;
let prisMedMva2 = prisMedMva(pris2);

let pris3 = 99;
let prisMedMva3 = prisMedMva(pris3);

Nå ligger logikken for mva i én metode. Endres satsen, justerer du bare metoden.

Tre grunner til at metoder gjør hverdagen enklere

1. Mindre repetisjon: Med metoder skriver du logikk én gang, og gjenbruker den. Det reduserer feil og gjør det raskere å endre kode senere.

2. Mer lesbar kode: En god metodenavn forteller hva som skjer. Koden blir mer som en oppskrift: du ser struktur og hensikt, ikke bare detaljer.

3. Enklere testing: Små metoder er lettere å teste isolert. Det gir tryggere endringer og færre overraskelser i produksjon.

Parametere og returverdi forklart enkelt

Parametere er verdier du sender inn i en metode, litt som ingredienser i en oppskrift. Metoden bruker disse for å gjøre jobben sin.

Returverdi er det metoden gir deg tilbake. Noen metoder returnerer en verdi, andre gjør bare en jobb (for eksempel skriver til skjerm eller fil).

Her er et enkelt eksempel i Python:

def areal_rektangel(bredde, hoyde):
    return bredde * hoyde

flate = areal_rektangel(4, 3)
print(flate) # skriver 12

Her erbreddeoghoydeparametere, og produktetbredde * hoydeer returverdien.

Gode metoder gjør én ting om gangen

En vanlig nybegynnerfeil er å lage metoder som gjør litt av alt: henter data, formatterer tekst, skriver til skjerm og lagrer til database i samme metode.

Prøv heller å dele opp arbeidet i mindre steg. Et praktisk prinsipp er: en metode bør gjøre én tydelig ting, og metodenavnet skal gjøre det lett å gjette hva.

Dårlig eksempel:

function behandleBestillingOgSendEpost(bestilling) {
  // validerer bestilling
  // lagrer til database
  // beregner pris
  // sender e-post
}

Bedre eksempel, delt opp i flere metoder:

function validerBestilling(bestilling) { ... }
function lagreBestilling(bestilling) { ... }
function beregnTotal(bestilling) { ... }
function sendBekreftelse(bestilling) { ... }

function behandleBestilling(bestilling) {
  validerBestilling(bestilling);
  lagreBestilling(bestilling);
  const total = beregnTotal(bestilling);
  sendBekreftelse(bestilling);
  return total;
}

Nå er det lettere å lese, teste og gjenbruke delene hver for seg.

Navngiving: små grep som gir stor effekt

Tematisk illustrasjon
Tematisk illustrasjon. Foto: cottonbro studio / Pexels.

Metodenavnet er en mini-dokumentasjon. Velg navn som beskriver hva metoden gjør, ikke hvordan den gjør det. Unngå for generelle navn somdoStuffellerhandleData.

Noen enkle tommelfingerregler:

  • Bruk verb for metoder som gjør noe, for eksempelsendEpostellerlagreBruker.
  • Bruk substantiv eller korte fraser for metoder som beregner/returnerer noe, for eksempeltotalPrisellerhentAktiveBrukere.
  • Hold navn konsistente i prosjektet, så samme type operasjon alltid navngis på lignende måte.

Når er en metode blitt for stor?

Det finnes ikke et magisk tall, men noen signaler er nyttige: hvis du må skrolle mye for å se hele metoden, eller hvis du må forklare med mange “og så” for å beskrive hva den gjør.

Hvis du ser flere “naturlige avsnitt” i metoden, der du kunne satt en egen overskrift, er det ofte et tegn på at du bør trekke ut en ny metode. Start med de delene som er lettest å skille ut først.

Liten steg-for-steg-øvelse du kan prøve nå

For å lære metoder ordentlig, er det lurt å øve bevisst. Her er en enkel oppgave du kan gjøre i ditt favorittspråk:

  1. Skriv et lite program som leser inn tre tall, regner ut gjennomsnittet og skriver resultatet til skjerm, uten å bruke metoder.
  2. Identifiser hva programmet egentlig gjør, for eksempel:lesInput,beregnGjennomsnitt,skrivResultat.
  3. Trekk ut hver del til sin egen metode med gode navn, og bruk dem i hovedprogrammet.
  4. Endre litt på logikken, for eksempel å runde av til to desimaler, og legg merke til hvor du faktisk må endre kode.

Poenget er å kjenne forskjellen mellom “alt i én klump” og “delt opp i meningsfulle metoder”. Etter noen slike runder føles det mer naturlig å tenke i metoder fra start.

Metoder i klasser og objekter

I objektorienterte språk kaller vi ofte funksjonene på et objekt for metoder. For eksempel kan enBruker-klasse ha metoder somaktiver,deaktiverellerfulltNavn.

Prinsippene er de samme: hver metode bør ha ett tydelig ansvar, bruke parametere når det trengs, og ha navn som gir mening i konteksten. Forskjellen er at metoden i tillegg har tilgang til dataene som ligger på objektet.

Oppsummert: tenk i små byggesteiner

Metoder hjelper deg å skrive kode som er enklere å lese, endre og gjenbruke. Begynn med å:

  • Se etter gjentakende kode som kan samles i en metode.
  • Gi metodene navn som beskriver hva de gjør.
  • Dele opp store metoder i mindre, mer fokuserte biter.

Du trenger ikke å gjøre alt perfekt fra starten. Det viktigste er å bli bevisst på at valg av metoder er et verktøy du kan bruke aktivt for å gjøre koden din bedre, litt etter litt.

0 kommentarer