Det er fredag ettermiddag, og de fleste har tatt helg. Før jeg runder av skal jeg bare gjøre en enkel endring i den store kodebasen vi jobber i:
Jeg manøvrerer meg til riktig fil, men blir ikke klok på koden. Med rynkede bryn leter jeg febrilsk etter en ledetråd. Bare ett enkelt navn som kan si meg noe om hva som foregår.
Klokken går, og jeg må gi opp. Jeg må inn i funksjonsdetaljer for å forstå hva funksjonen gjør. Ikke lekende lett, akkurat.
Kjenner du deg igjen? Erfaringer som denne har gjort at jeg brenner ekstra for å etablere gode navn på funksjoner.
"Kongen befaler"
Jeg forsøker stadig å forbedre noen av de forvirrende navnene jeg kommer over. Det viser seg ofte å være enklere sagt enn gjort.
Som ny i bransjen prøver jeg derfor å tilegne meg gode vaner allerede nå. Kanskje jeg samtidig kan inspirere flere til å se verdien av å skrive gode funksjonsnavn?
Se for deg barneleken «kongen befaler»: Den har et sett med regler som alle må følge for at det skal bli lettere å delta.
I tillegg krever den at du er så konkret som mulig i hva du befaler – hvis ikke blir det umulig å utføre oppgaven.
Er du med?
«Med rynkede bryn leter jeg febrilsk etter en ledetråd.»
5 tips
I så fall, se hvordan du kan tenke som en konge neste gang du skal opprette et funksjonsnavn:
- Velg et navn som helt konkret beskriver hva funksjonen gjør
Tips til å finne et konkret navn: tenk på «kongen befaler». Hva hadde du sagt til funksjonen at den skal gjøre? «Kongen befaler at du skal...» Hvis du må bruke ordet «og», har du fått avdekket om funksjonen gjør flere handlinger – bonus! - Bruk ett ord for hvert konsept
Bruker du like navn for lignende metoder i ulike klasser, minsker du sjansen for forvirring. For eksempel, velg enten ‘get’, ‘retrieve’, eller ‘fetch’, og hold deg til det. - Variasjoner er gull
Jeg har flere ganger skrevet mange funksjonsnavn i denne stilen: TEEImageRotate og TEEImageCrop. Dette kan i noen tilfeller være forvirrende. Med forkortelser og lite variasjon gjør jeg det også vanskelig for IDE`en å hjelpe meg. Tenk derfor variasjon i funksjonsnavnene. - Velg navn som er enkle å uttale
Det gjør kommunikasjonen mellom teammedlemmene mer effektiv. I tillegg blir det ofte enklere å søke etter navnet i kodebasen. - Bruk gjerne fagtermer!
Husk at leseren av koden også er en utvikler innenfor ditt domene.
Håper tipsene er til hjelp, og at vi sammen kan sørge for forståelig og lesbar kode fremover. I hvert fall er det noe jeg (an)befaler!