Sådan skal god kode se ud - hvis du spørger udviklerne

I en tid med kraftigt stigende digitalisering bliver vi mere og mere afhængige af den velskrevne softwarekode. Men hvad kendetegner egentlig den gode kode? Det får du svaret på her.

Artikel top billede

(Foto: Dan Jensen)

Flere og flere maskiner, apparater og funktioner bliver afhængige af god softwarekode.

Der findes selvfølgelig software-kode i computere og smartphones, men efterhånden også i biler, køleskabe, ure og rigtigt mange af de øvrige genstande, som vi omgiver os med.

Software-kode er imidlertid ikke 'bare' software-kode, for der findes god kode og dårlig kode.

Begge dele kan sådan set udføre de tænkte opgaver, og spørger man udviklerne, kan der være stor forskel på opfattelsen af god og dårlig kode.

Nogle ting er udviklerne dog enige om, når det gælder velskrevet kode.

Her kommer der otte ting, som kendetegner velskrevet kode ifølge udviklere, der har diskuteret emnet i forskellige debatforaer.

1: Det skal virke
Vel ikke den store overraskelse, men lad os alligevel tage det med her: Software bliver skrevet alene for at løse en opgave og udføre en funktion.

En del udviklere mener, at det siger sig selv, mens andre specifikt nævner, at det primære for al god kode er, at det virker.

Fra debatforaerne:

"Det vigtigste er kode, der virker."

"Den eneste måleparameter, der betyder noget: En bruger skal kunne bruge softwaren."

"Smuk, læsbar, testbar og vedligeholdelsesvenlig kode, som ikke lever op til forretningens behov, er stadig en fiasko."

2: Skal være nem at læse
Udviklerne er ret enige om, at velskrevet kode skal være nem at læse og forstå for andre udviklere, som derfor ikke behøver bruge masser af tid og anstrengelser på at trænge ned i kodens betydning og funktioner, når den skal vedligeholdes, udvides eller genanvendes.

Det kræver, at der er styr på ting som navngivning og klar control-flow, ligesom det ofte kræver masser af grundige kommentarer og bemærkninger til den skrevne kode.

Fra debatforaerne:

"Gode kode skal fremfor alt være læsbar. Rigtig god kode kræver ikke kommentarer til at forklare selv de mindste detaljer, men kun de store ting som tilgang og nuancer. Når man læser god kode, kan man nemt følge flow of control."

"Jo hurtigere nogen kan kigge på den og forstå den, jo hurtigere kan applikationen bevæge sig fremad."

"Der er egentlig ikke noget andet kriterium, end hvor hurtigt du kan forstå koden."

3: Den skal være testbar
Software-udviklerne er generelt enige om, at god kode skal kunne testes i programmet.

Det vil sige, at højkvalitets-kode skal skrives på en måde, så det bliver muligt at skrive automatiske test ind for at sikre, at hver komponent i koden virker som det skal.

Fra debatforaerne:

"Gode kode er altid vel-testet."

"Jeg vil altid kigge efter 'testability'."

"Der er mange fordele ved unit-test, og de er normalt et tegn på god kode-kvalitet."

4: Den skal være nem at vedligeholde
Der kan findes bugs i næsten al kode - uanset hvor velskrevet den er. Og bugs skal repareres, og koden lappes.

Der kan være meget stor forskel på, hvor svært det er at modificere koden. Det afhænger blandt andet af læsbarheden, kodens kompleksitet og en række andre ting.

Fra debatforaerne:

"Al kode skal vedligeholdes. Der er ingen grund til at gøre den opgave mere svær end højst nødvendigt."

"Jeg har set rigtig grim kode, som ikke desto mindre var nem at vedligeholde, og jeg har set smuk kode, som var nødt til at blive smidt ud og genskrevet fra scratch."

"'Maintainability' gør hele forskellen mellem funktionsduelig kode og fantastisk kode."

5: Skal være behagelig at kigge på
Kodens udseende har sådan set ikke noget at gøre med, hvordan den fungerer: Grim kode kan køre fantastisk, og smuk kode kan køre dårligt.

Men for udviklerne kan det gøre en forskel, om en kode er grim eller pæn at kigge på.

For god brug af formattering som mellemrum, indrykning og store bogstaver og tegn kan gøre et software-program nemmere og mere behagelig at læse og dermed at forstå.

Fra debatforaerne:

"God kode skal være ordentligt formatteret og overholde konventioner fremfor at være et stort usammenhængende rod."

"Kode, der ser godt ud, er næsten altid af god kvalitet. Sådan bør det logisk set ikke være, men sådan er det altså."

6: Skal være nem at ændre i
Der er ofte brug for at ændre, udvide eller genbruge et stykke kode, og god kode bør skrives, så disse opgaver er nemme at udføre.

Samtidig mener udviklerne, at det er et kvalitets-parameter, at man kan ændre i en kode uden at det skaber en række af utilsigtede følge-effekter andre steder i funktionaliteterne, som så efterfølgende skal rettes.

Fra debatforaerne:

"Man ved faktisk ikke, hvor god en kode er, før man har forsøgt at ændre den."

"Gode kode er meget nem at udvide eller modificere og meget svær at ødelægge, når man gør det."

7: Den skal være simpel
Software-kode er ofte skrevet til at kunne udføre komplekse opgaver, men den bedst skrevne kode skal være simpel og så enkel som mulig.

Det vil sige, at der ikke skal være dybe loops i koden, ingen store 'hvis/eller'-funktioner ligesom metoder, funktioner og de forskellige kode-blokke skal være korte og fokuserede.

Fra debatforaerne:

"Der er dokumenteret sammenhæng mellem kode-kompleksitet og antal bugs."

"Ingen uendelige rækker af muligheder. Hvert abstraktionslag skal være så simpel, at man husker den helhed, som det indgår i."

"Hver funktion skal gøre præcis én ting."

9: Den skal være effektiv
For nogle udviklere gælder det, at god kode skal være hurtig og forbruge minimale system-ressourcer.

Fra debatforaerne:

"Hastighed er ikke nødvendigvis en indikator på god kode, men god kode bør aldrig være unødvendig langsom eller forbrugende."

"Generelt opfatter jeg den hurtigste kode som den bedste kode, selv om den godt kan være mindre læsbar."

Hvad synes du kendetegner god kode? Giv dit besyv med i debatfeltet herunder.

Læses lige nu
    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.

    Sikkerhed | Online

    Connected sikkerhed: Sådan samles netværk, drift og sikkerhed i én platform

    Få indblik i, hvordan NaaS og SOC samler netværk og sikkerhed i én platform. Hør Semler Group dele erfaringer med hurtigere trusselsrespons, færre leverandører og mindre kompleks drift. Deltag og se, hvordan moderne sikkerhedsdrift skalerer i...

    Infrastruktur | Frederiksberg

    Roundtable: Suverænitet, risk management og resiliens i en urolig verden

    Digital suverænitet er rykket fra politisk debat til konkret risikostyring.På dette eksklusive dinner roundtable samler Computerworld, T-Systems og Palo Alto Networks 12-15 ledende it- og sikkerhedsbeslutningstagere til en fortrolig samtale om...

    Se alle vores events inden for it

    Navnenyt fra it-Danmark

    Pentos har pr. 2. juni 2025 ansat Erik Ebert som Country Manager. Han skal især beskæftige sig med udvidelsen af Pentos til Danmark og Norden. Det kræver bl.a. etablering af et lokalt leverance team og SAP Partnerskab. Han kommer fra en stilling som Senior Director hos Effective People. Han har tidligere beskæftiget sig med HR systemer baseret på SAP SuccessFactors hos en række danske større og mellemstore virksomheder. Nyt job

    Erik Ebert

    Pentos

    Sharp Consumer Electronics har pr. 1. april 2026 ansat Daniel Eriksson som salgsdirektør for de nordiske lande. Han skal især beskæftige sig med at accelerere virksomhedens vækst i Norden. Han kommer fra en stilling som nordisk salgsdirektør hos Hisense. Han har tidligere beskæftiget sig med detailhandel, kommerciel strategi og markedsudvidelser med bemærkelsesværdige resultater til følge. Nyt job

    Daniel Eriksson

    Sharp Consumer Electronics

    IFS Danmark A/S har pr. 1. juni 2026 ansat Lasse Hounsgaard som AI Account Executive. Lasse skal især beskæftige sig med udrulning af IFS.ai Logistics i Norden. Lasse kommer fra en stilling som Manufacturing Account Executive hos Autodesk ApS. Lasse er uddannet cand.merc. i International Virksomhedsøkonomi. Lasse har tidligere beskæftiget sig med digitalisering af danske og nordiske virksomheder. Nyt job

    Lasse Hounsgaard

    IFS Danmark A/S

    Netip A/S har pr. 1. maj 2026 ansat Michael Schou som Operations Manager ved netIP Aalborg og Aarhus. Han kommer fra en stilling som Senior Director - Head of IT hos BDO. Han har tidligere beskæftiget sig med flere områder indenfor IT-branchen, hvor han bla. også har drevet sin egen IT-virksomhed. Nyt job

    Michael Schou

    Netip A/S