Här några exempel till på mått på kvalitet för programkod:
* Längd på kodenheter som metoder och klasser. Ju längre, desto sämre.
* Antalet och typen av kopplingar mellan olika delar av en applikation. Ju fler och krångligare kopplingar, desto sämre.
* Andel duplicerad kod. Om samma programkod finns på flera ställen blir programkoden svårare att underhålla.
– Utvecklare har ett eget ansvar och de kan och bör ha en yrkesstolthet. Tyvärr har det ofta saknats professionalism, säger Manne Fagerlind, konsult på Hiq i Stockholm som har arbetat länge med kvalitet för programkod.
Men om värdet inte förbättrats trots yrkesstolthet och ansvar, om utvecklarna och andra inblandade inte vet hur man ska göra, vad gör man då?
– Om de inte kan måste de lära sig. Det finns inte så många kurser om sådant här, men det finns mycket litteratur. Det är en bra idé att anordna interna kurser. På Hiq tar vi till exempel upp sådana här saker internt i något som kallas Kodarskolan och vi hoppas kunna erbjuda kurser till våra kunder.
Anledningarna till att satsa på kvalitet för programkod är många. Det blir färre programfel och färre missnöjda användare av applikationerna. Det blir billigare att åtgärda problem tidigare i projekt. Det blir framför allt enklare, billigare och går snabbare att vidareutveckla applikationer.
Manne Fagerlind tycker att ett första steg i kvalitetsarbetet är att sätta sig in i hur de mått som finns fungerar och sedan att använda de mätverktyg som finns och som ofta kan göra mätningar automatiskt.
Frågan är vad som ska göras när kvalitetsproblem har upptäckts. Låt oss ta måttet cyklomatisk komplexitet som ett exempel. Det är ett mått på hur många vägar det finns genom en applikation, eller genom en metod eller någon annan enhet av programkod.
Enkelt uttryckt blir koden krångligare och därmed mer felbenägen och svårare att arbeta med, ju högre värdet för cyklomatisk komplexitet är. Man kan säga att ett högt värde pekar på sämre kvalitet.
Om det bara finns en väg genom en applikation är värdet för den cyklomatiska komplexiteten ett. Om det finns flera vägar räknas ett mått fram med en formel. Det är alltså inte så att fem vägar genom ett program automatiskt ger värdet fem, men fler vägar ger ett högre värde.
Hur högt värde är för högt?
– Gränsen går ungefär vid tio för en metod, säger Manne Fagerlind.
Vad ska man göra om kvaliteten är för låg?
– Det går att mäta kvaliteten när en körbar applikation byggs. Om den är för låg kan man bryta bygget och informera alla berörda om att de behöver skriva om koden.














