Artikel top billede

(Foto: Dan Jensen)

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.

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.




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
Hewlett-Packard ApS
Udvikling og salg af software, hardware, konsulentydelser, outsourcing samt service og support.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Compliance og strategisk it-sikkerhed efter DORA

Finansielle koncerner har i snit 85 sikkerhedsløsninger i drift – men er i snit op til 100 dage om at opdage et igangværende cyberangreb. Ydermere viser øvelser, at det typisk tager 4-6 uger at rense og genetablere sikker drift af centrale systemer efter et stort angreb. Fokus for dagen vil derfor være på henholdsvis governance samt om, hvordan du som it-leder i den finansielle sektor skal kunne håndtere fremtidens cybertrusler og arbejde effektivt med sikkerhed på et strategisk niveau.

04. april 2024 | Læs mere


EA Excellence Day

Hvad er det, der gør it-arkitektens rolle så vigtig? Og hvad er det for udfordringer inden for områder som cloud, netværk og datacentre, som fylder hos nogle af landets bedste it-arkitekter lige nu? Det kan du her høre mere om og blive inspireret af på denne konference, hvor du også får lejlighed til at drøfte dette med ligesindede.

16. april 2024 | Læs mere


IAM - din genvej til højere sikkerhed uden uautoriseret adgang og datatab

På denne dag udforsker vi de nyeste strategier, værktøjer og bedste praksis inden for IAM, med det formål at styrke virksomheders sikkerhedsposition og effektiviteten af deres adgangsstyringssystemer og dermed minimere risikoen for uautoriseret adgang og datatab. Og hvordan man kommer fra at overbevise ledelsen til rent faktisk at implementere IAM?

18. april 2024 | Læs mere