Access Keys:
Skip to content (Access Key - 0)

Kode analyse

Kerne i ethvert software projekt er den kode der udvikles. Derfor starter kvaliteten af den applikation der i sidste ende skal afleveres til kunden med kvalitet koden laves i. De funktionelle egenskaber ved den udviklede kode måles primært under de foskellige Test aktiviteter, men det er straks være med de mere kvalitative softwaremæssige aspekter.

Her er der en række aktiviteter man kan benytte til at sikre at den rette kvalitet opnåes på disse områder:

Manuelle aktiviteter

  • Code pairing: Dvs. med jævne mellemrum at udvikle kode sammen med en anden.
  • Lead developer: Have en person med i teamet der kan fungere som coach og sparring i forhold til udvikling.
  • Uformelle kodegennemgange: Dette er typisk i forbindelse med commits til versionkontrol, eller opgaveafslutninger, hvor man bør vise sit arbejde til en anden. Dette må meget gerne gøres på konsistent basis, dvs. hver gang der komittes, afsluttes opgave osv.
  • Kode Reviews: Hvis mere formelle kode reviews kan genføres så udbyttet af disse overstiger omkostninger, bør man inkludere sådanne aktiviteter i sin proces.

Automatiske aktiviteter

  • Statisk kodeanalyse: Der findes en række værktøjer til at finde uhensigsmæssiger hedder i kode. Open source eksempler er FindBugs, PMD, CPD.
  • Unittest: Selvom unittest primære funktion er funktionstest, vil brugen af unittest medfører at en række softwaremæssige kvaliteter vil blive løftet.
  • Continuous Integration: Problemer ved ikke at have en ordenlig kode kvalitet vil blive meget mere synlig i forbindelse med en CI aktivitet. Dels fordi dette er del af formålet med CI, men også fordi en CI opsætning stiller store krav til gennemsigtighed, automatisering, metadata, osv. af hvordan applikation konstrueres og deployes.
  • Historik: Nogle gang har man brug for at kigge på nogle kodemæssige metrikker over tid for at kunne identificere problematiske software kvalitetsaspekter.

Et eksempel på resultaterne for en automatisk kode analysesetup kan ses her for JAccept projektet.

Opsummering

I sidste ende er det en spørgsmål om at opnå den rette mentalitet hos udviklerne, så det bliver et naturligt element i programmering hele tiden at have fokus på at arbejde med kvaliteten af den udviklede kode.

Adaptavist Theme Builder (4.0.1) Atlassian Confluence 3.2, the Enterprise Wiki: Intranet software for documentation and knowledge management