Den perfekte kode: Her er seks fællessnævnere for al god kode

Der kan være meget stor forskel på den kode, som vores systemer er bygget af. Men der er seks vigtige ting, som al god kode har til fælles.

Artikel top billede

(Foto: Dan Jensen)

Der findes som bekendt milliarder og atter milliarder linier af kildekode til alverdens it-systemer, men ikke al kode er skrevet lige godt.

Software-udviklere har ofte ret fastlagte holdninger til, hvad der gør en rå kode 'god' eller 'dårlig,' og det er langt fra altid, at de er enige.

Nogle ting er de imidlertid ret enige om, beretter Computerworlds amerikanske nyhedsbureau, der har gennemgået flere store udvikler-foraer for holdninger til 'god' og 'dårlig' kode.

1: Skal være nem at læse
Den måske vigtigste egenskab for 'god' kode er, at den skal være nem at læse, og dette er langt de fleste software-udviklere rørende enige i.

En letlæselig kode gør det nemt for andre udviklere at forstå, hvad koden handler om, og hvad meningen med den er.

"Efter min mening har udvikleren ikke været dygtig nok, hvis jeg ikke kan forstå hans hensigt i løbet af maksimalt fem minutter," lyder det således fra en senior-udvikler - Luke Burnham - som Computerworlds amerikanske søstermedie har talt med.

"Computeren er ligeglad med variable navne eller mellemrum mellem linier, men det gør mennesker. Kode bliver skrevet én gang, men bliver læst hundredevis af gange," siger han.

En anden softwareudvikler peger på, at 'god' kode betyder, at den skal være skrevet i en konsistens stil med ordentlige mellemrum, ordentligt indrykning og et godt flow samt med betegnelser, der 'giver mening.'

Godt med gode kommentarer

Masser af kommentarer og forklaringer hører også til enhver god kode. Grunden er simpel: Gode kommentarer gør det nemmere hurtigt at forstå koden, og hvad hensigten med den er.

En udvikler understreger, at forklaringerne i kommentarfelterne ikke skal handle om, hvad en funktion eller kodesekvens gør, men hvorfor den gør det.

"Kommentarerne til god kode skal gøre det klart for andre, hvad der egentlig foregår i udviklerens hoved, mens han skriver koden," skriver han.

Forklaringerne gælder i øvrigt over udvikleren selv, da ingen udvikler kan huske intentioner og planer til al den kode, som han har skrevet i tidernes løb.

Ordentlige kommentarer kan derfor være nyttige for udvikleren selv, hvis koden skal modificeres engang i fremtiden.

Den skal være simpel

God kildekode er enkel - også selv om den samlet ofte vil være i stand til at udføre komplekse opgaver.

Dermed vil gode udviklere være i stand til at løse opgaven uden at over-komplicere tingene, hedder det.

"Hvert stykke kode bør udføre én opgave, som til gengæld skal udføres perfekt. Dernæst skal det næste stykke kode udføre den næste opgave. De bedste løsninger er ofte de mest enkle," lyder det fra en udvikler.

Desuden er der bred enighed om, at der er en sammenhæng mellem kode-kompleksitet og antallet af bugs.

Den skal være fleksibel

Der vil ofte være behov for, at funktionaliteten i et stykke kode justeres, udbygges eller genbruges andre steder, som tiden går, og behovene ændrer sig.

Derfor er det vigtigt, at koden er skrevet på en måde, så den er fleksibel.

Det er selvfølgelig umuligt at forudsige, hvad fremtidens behov bliver, men det kan godt lade sig gøre, at skrive koden, så den kan udbygges og justeres med så få ændringer som muligt.

Som en udvikler skriver, er det ultimative tegn på, at din kode er godt skrevet, hvis "den helt nye medarbejder får besked på at modificere den kode, som du skrev for seks måneder siden, og aldrig nogen sinde henvender sig til dig for at stille dig et spørgsmål."

Den er nem at vedligeholde

Det er mere end sandsynligt, at din kode vil indeholde bugs - også selv om den er fantastisk godt skrevet - for det gør langt størstedelen af den kode, der bliver skrevet.

Og det betyder jo, at der skal rettes i koden, så bug'en kan fjernes.

Der er bred enighed blandt udviklerne om, at det er grundlæggende for 'god' kode, at den skal være nem at rette i.

"Al kode skal vedligeholdes, og den opgave skal være så nem som muligt," lyder det fra en udvikler.

En anden skriver: "Den store forskel mellem kode, der bare fungerer og kode, der er fantastisk, er vedligeholdelses-venligheden ['maintainability']."

Den skal fungere

Det er jo et ret oplagt kriterium for en god kode, men vi tager den ikke desto mindre med her.

For det er grundlæggende for enhver 'god' kode, at den skal fungere efter hensigten og løse alle de ønskede opgaver, som den er skrevet til.

Har vi glemt noget? Hvad synes du er et fællestræk for al god kode? Giv dit besyv med i debatfeltet herunder.

Læs også:

Verdens måske allerbedste og mest indflydelsesrige programmører

12 tastaturer som udviklere og kodefolk holder meget af

Læses lige nu

    Annonce

    Jyske Bank

    Product Manager til Digitale services

    Københavnsområdet

    Paychex Europe

    Seniorudvikler til Danløn

    Københavnsområdet

    Fødevarestyrelsen

    DevOps-medarbejder til .NET løsninger

    Københavnsområdet

    Forsvarsministeriets Materiel- og Indkøbsstyrelse

    Test Manager til Drift- og Støttesektionen ved Forsvarsministeriets Materiel- og Indkøbsstyrelse

    Københavnsområdet

    Computerworld Events

    Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

    Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
    Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
    Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
    Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

    Digital transformation | København

    Fra teknolog til strateg: IT-ledelse i en AI- og forretningsdrevet virkelighed

    Hvordan tager du ejerskab over strategi, ledelse og teknologi i en AI-drevet virkelighed? På konferencen møder du frontløbere, der transformerer IT fra servicefunktion til strategisk enabler for forretningen med fokus på cloud, sikkerhed, AI-etik...

    Sikkerhed | Online

    Computerworld Cyber Briefing: Cyberresiliens

    De fleste organisationer har en plan for recovery. Få ved dog, hvilke systemer der skal op at køre først for at holde forretningen i gang. Kom med, når vi ser nærmere på, hvordan Cohesity, Dustin og HPE hjælper organisationer med at definere og...

    It-løsninger | Horsens

    Dynamics AX og FO: Næste kapitel for din virksomhed

    Få overblik over vejen fra Dynamics AX til Finance & Operations – eller løft værdien af Dynamics FO. Hør praksisnære cases om strategi, migration og optimering. Vælg spor, få dyb faglig indsigt, styrk beslutningerne. Tilmeld dig konferencen i...

    Se alle vores events inden for it

    Navnenyt fra it-Danmark

    Softwarevirksomheden Idura, som udvikler løsninger til digital identifikation og autentifikation, har pr. 1. september 2026 ansat Alfredo Paladino, 32 år,  som Account Manager for det danske marked. Han skal især beskæftige sig med salg af Iduras MitID- og signaturløsninger i Danmark. Han kommer fra en stilling som Head of Business Development hos Goodwings. Han er uddannet kandidat i e-business. Han har tidligere beskæftiget sig med at opbygge Goodwings' kommercielle funktion og lede et internationalt BDR-team på 12 personer. Nyt job

    Alfredo Paladino

    Softwarevirksomheden Idura, som udvikler løsninger til digital identifikation og autentifikation,

    Norriq Danmark A/S har pr. 1. juni 2026 ansat Nikolaj Henrik Pieter Jansen som Junior Consultant. Han skal især beskæftige sig med at understøtte vores konsulenter med praktiske og analytiske opgaver på diverse kundeprojekter. Han kommer fra en stilling som Digital Advisor & Account Manager hos Twentyfour. Han er uddannet hos IT-Universitetet i København. Han har tidligere beskæftiget sig med salg og projektstyring. Nyt job

    Nikolaj Henrik Pieter Jansen

    Norriq Danmark A/S

    Genetec har pr. 1. august 2026 ansat Jan Julin som Channel Account Executive. Han skal især beskæftige sig med styrke samarbejdet med partnere og kunder i Danmark, Finland og Baltikum. Han kommer fra en stilling som Senior Business Development Manager hos Dahua Technology. Han har tidligere beskæftiget sig med videoovervågning, adgangskontrol, sikkerhedsteknologi, salg og forretningsudvikling. Nyt job

    Jan Julin

    Genetec