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.




IT-JOB

PensionDanmark

MS Dynamics-udvikler

Cognizant Technology Solutions Denmark ApS

Test Manager

KMD A/S

BI Developer
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?
Konica Minolta Business Solutions Denmark A/S
Salg af kopimaskiner, digitale produktionssystemer og it-services.

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

Kommende events
Fremtidens digitale kraftværk: Tag styringen med dit ERP-system

I dag ligger moderne ERP-platforme i skyen og opdateres adskillige gange årligt. Samtidig får man nærmest pr. automatik adgang til en omfattende portefølje af integrationer, add-ons, 3. partsmoduler, BI og avancerede funktioner til AI/ML-understøttelse af forretningsprocesser. På denne dag går vi derfor i dybden med, hvad det betyder for din virksomhed. Uanset om I har migreret til en cloudbaseret platform eller planlægger at gøre det indenfor en overskuelig fremtid.

21. november 2024 | Læs mere


Sådan bruger du aktivt AI til at styrke din cybersikkerhedsindsats

Kan AI styrke din cybersikkerhed og forebygge f.eks. ransomwareangreb? Ja – og endda særdeles effektivt! På denne konference kan du blive klogere på, hvordan du i praksis anvender AI til at styrke dit sikkerhedsniveau – og gøre cyberbeskyttelsen mere fleksibel.

27. november 2024 | Læs mere


Styrk din virksomhed med relevant, pålidelig og ansvarlig AI integration med SAP

Kom og få indsigt i, hvordan du bruger AI til at transformere og effektivisere dine arbejdsgange. Vi kigger nærmere på AI-assistenten Joule, der vil revolutionere måden, brugerne interagere med SAP’s forretningssystemer. Og så får du konkret viden om, hvordan du kommer i gang med at bruge AI til at booste din forretningsudvikling.

03. december 2024 | Læs mere