Code Climate

Code Climate

Det er ikke altid nemt at lave en kvantitativ analyse på noget så flygtigt som kvaliteten af en kodebase. Alle har sin egen mening omkring “god” kode og det er i princippet svært at måle kvaliteten af din kodebase. En måde at komme nærmere en definition af “kvalitet” i forhold til din kode er at bruge statisk analyse baseret på en række antagelser i forhold til hvilke ting fremmer den “gode kode”.

Det værktøj som vi bruger til dette formål i Centic er Code Climate. Den simple beskrivelse af Code Climate, er at det er samling af værktøjer til at udføre statisk analyse af din kode pakket ind i en brugervenlig platform.  

Vi bruger Code Climate primært til at måle på strukturen i vores kode: om der er metoder eller klasser med for meget kompleksitet, for stort ansvar osv. Det store gevinst ved at bruge et værktøj som Code Climate er at det hjælper med at vedligeholde en fælles referenceramme hos os i forhold til hvordan vi ser på “den gode kode”.

Kort sagt så virker Code Climate på den måde at der tilknyttes f.eks. et Git repo til et projekt på Code Climate, og derefter køres der automatisk en ny analyse hver gang der ændres i kodebasen. Resultaterne bedømmes på en skala (A-F) og projektet får et samlet skor. Udover det kan man selvfølgelig se detaljer omkring den enkelte klasse/metode opdelt i forskellige kategorier (kompleksitet, duplikering, sikkerhed, osv). Det er også muligt at integrere Code Climate med Slack, hvilket giver et ekstra “socialt” aspekt i forhold til de beskeder som Code Climate automatisk poster på Slack.

Et værktøj som Code Climate skal selvfølgelig ikke stå alene men som en del af andre tiltag. Det erstatter ikke behovet for at skabe en god kultur omkring inspektion af koden, hvor vi f.eks gør brug af pull requests på tværs af vores projekter for at få nye perspektiver frem.

http://codeclimate.com