Navn er overalt. De er vår hjernes måte å abstrahere kompleksiteten av universet i programverdenen på.
En vanlig vittig bemerkning i programmering er at "å gi ting navn er vanskelig".
Å finne på nye navn er ikke alltid vanskelig, men å finne et godt navn er vanligvis ikke så lett.
Hva er i ett navn?
Forestill deg en JavaScript-funksjon som er ansvarlig for å bruke en CSS-stil på en knapp. Se for deg ett scenario der dette er en frittstående funksjon:
- styleButton
- setStyleOfbutton
- setButtonCss
- applyButtonStyles
- setButtonStyles
Virker enkelt, ikke sant? Men her er greia:
Å skvise ut de beste navnene kan være vrient. Noen kan være kjempebegeistret for ett navn, mens andre bare rister på hodet av det. Og selvfølgelig; det er alltid et evigvarende søken etter et enda bedre navn.
Det handler ikke bare om bokstavene på skjermen; det handler også om å fortelle en historie i koden din. Hvert navn bærer med seg en beskjed, og å finne det rette navnet er som å løse et lite puslespill.
Så; hva er i ett navn? Tilsynelatende en hel del, når det kommer til å skrive kode! Vi kan si at et godt navn kunne ha følgende karateristikker:
Ler av navn på interne systemer: «Ruller på tunga»
#1: Hensikt
Hva noe er for, og hvordan det oppfører seg, hva noe gjør.
Ett godt utformet navn burde indikere funksjonens hensikt. Det er et svar til spørsmålet; "Hva er det denne funksjonen gjør?".
Navnet "applyButtonStyles" formidler et klart formål - påføre stiler til en knapp.
#2: Konsept
Grunnideen, hvordan tenke om navnet.
Bortsett fra funksjonalitet, innkapsler et godt navn et konsept.
Ta eksemplet rejectDeal, acceptDeal, og pendingDeal— hvert navn beskriver ikke bare en handling, men introduserer et konsept som veileder deg i hvordan tenke om disse funksjonene.
#3: Relasjon
Forventninger om hvordan det virker.
Ett godt navn etablerer en relasjon med utvikleren. Det skaper forventninger om hva funksjonen gjør og hvordan den handler.
Navn som setStyleOfbutton eller setButtonCss antyder en bestemt relasjon - setter stiliseringen for en knapp.
- Du kaster bort alles tid med forkorta variabel-navn!
Historiefortelling
Som Donald Knuth klokt uttaler:
“Programmering er ikke om å fortelle datamaskinen hva den skal gjøre. Programmering er kunsten å fortelle en annen programmerer hva datamaskinen skal gjøre."
I den store romanen som utgjør programmering, bidrar hvert funksjonsnavn til denne historiefortellingen, samtidig som de omgjør linjer av kode til en samhandlende krønike som snakker til de som følger den.
Jeg så en fin video på YouTube om Ren kode:
Og jeg hørte en uttalelse der om at vi programvareutviklere / ingeniører / programmerere er historiefortellere – vi ønsker å formidle fortellingen:
“Programmering er historiefortelling; vi er alle historiefortellere" sa Ben Dechrai.