Codekwaliteit: investeren of negeren?

Blog

Vaak denkt men dat het investeren in het verhogen van de codekwaliteit overbodig is; omdat het geen directe waarde biedt voor de organisatie. Maar is dat ook zo? In deze blog bespreken wij, Pieter en Bart, waarom jouw organisatie de codekwaliteit zou moeten verhogen en geven we tips hoe je dit kan doen.

Wat is codekwaliteit?

De kwaliteit van code bestaat uit meer aspecten dan alle code netjes in een bestand plaatsen. “Codekwaliteit” verwijst naar de mate waarin de broncode van een applicatie voldoet aan de normen en richtlijnen die zijn vastgesteld door een organisatie.

Codekwaliteit omvat verschillende aspecten waaronder leesbaarheid, herbruikbaarheid, betrouwbaarheid, onderhoudbaarheid en efficiëntie. Een hoge kwaliteit resulteert in een verbeterde begrijpbaarheid, waardoor ontwikkelaars productiever kunnen samenwerken tijdens het maken van wijzigingen, en het plegen van onderhoud.

Wat zijn de voor- en nadelen van het verhogen van de codekwaliteit?

Voordelen

  • Code van hoge kwaliteit is doorgaans modulair en goed georganiseerd. Dit maakt het gemakkelijker om wijzigingen aan te brengen en de code te onderhouden. Hierdoor wordt het onderhouden van de codebase gemakkelijker en efficiënter.
  • Samenwerking binnen projectteams gaat makkelijker wanneer een standaard voor code wordt gehanteerd en nageleefd.
  • Het opsporen van bugs en daarmee het verlagen van de zogenaamde technische achterstand (technical debt) is een tijdrovend proces. Wanneer je aandacht besteedt aan codekwaliteit zal dit proces minder tijd en kosten in beslag nemen.
  • Beter geoptimaliseerde code resulteert in een beter werkende applicatie. Dit biedt voordelen. Zowel vanuit een commercieel perspectief als voor de eindgebruiker.
  • Hoge kwaliteit verhoogt de betrouwbaarheid van de werking van code onder diverse omstandigheden en scenario's.
  • Het vermijden van codekwaliteits-principes oogt op korte termijn aantrekkelijk vanwege de mogelijkheid tot snelle winst. Echter neemt over tijd de complexiteit van een codebase toe, wat veel werkzaamheden vereist. Hierdoor kan een applicatie minder snel nieuwe functionaliteiten toevoegen waardoor stakeholders minder tevreden zijn. Dit resulteert uiteindelijk vaak juist in hogere kosten.

Nadelen

  • In het begin zal er geen directe meerwaarde zijn voor de organisatie; bovendien heeft de kwaliteit van de codebase geen invloed op de eindgebruiker. Echter zal  er later in de software lifecycle wel baat bij zijn aangezien nieuwe functies dan sneller geïmplementeerd kunnen worden.
  • Het verbeteren van een codebase is een financiële investering voor de organisatie. Het implementeren van de benodigde tooling en de extra tijd die ontwikkelaars stoppen in de codebase zal niet gelijk zichtbaar zijn.
  • Het implementeren van nieuwe methodieken in het ontwikkelproces kan lastig zijn voor een team. Aan het begin van het proces kan weerstand ontstaan, maar binnen enkele weken zullen de eerste resultaten zichtbaar zijn.

Hoe kan een hogere codekwaliteit worden bereikt?

Statische code analysetools: Analysetools zoals SonarQube en Qodana beoordelen de codekwaliteit van aspecten zoals security, bugs en linting. Statische code-analysetools scannen de code zonder het uit te voeren. Daarnaast kan het gekoppeld worden aan de CI/CD straat om te voorkomen dat lage kwaliteit code wordt samengevoegd met de productie codebase.

Code reviews: Door code na te laten kijken voordat deze in productie wordt genomen, kunnen bugs en andere “code smells” worden verholpen. Dit kan worden gedaan door het gebruik te maken van “MergeRequest” via GIT.

Design reviews: Door uit te tekenen en uit te schrijven wat er geïmplementeerd gaat worden, kunnen misconcepties en fouten in de businesslogica eerder worden geïdentificeerd.

GitHub Copilot: GitHub Copilot kan worden ingezet om ontwikkelaars te ondersteunen tijdens het schrijven van hoge kwaliteit code. Deze AI tooling genereert efficiënte code die voldoet aan afgesproken standaarden. Gebruik hiervan kan resulteren in code die beter gestructureerd is en door automatisering van commentaar volledig gedocumenteerd is. Daarnaast worden simpele taken overgenomen, waardoor de ontwikkelaar zich kan focussen op meer complexe vraagstukken.

Conclusie

Alhoewel een financiële investering  in codekwaliteit op korte termijn geen directe waarde levert, bespaart dit veel kosten en moeite op lange termijn. Bovendien leidt het tot een beter te onderhouden codebase, bevordert het een gestandaardiseerde manier van (samen)werking en optimaliseert het de applicatie.

ShareValue kan ondersteuning bieden bij het verhogen en bewaken van de codekwaliteit binnen uw organisatie. Dit doen we  door middel van het refactoren van code, het verhogen van code coverage met unit tests, het implementeren van statische code-analysetools zoals SonarQube en het houden van code reviews.

Wil je meer weten over code kwaliteit of kunnen we je ondersteunen bij het invoeren van deze codekwaliteit? Neem dan gerust contact met ons op, zodat we de mogelijkheden kunnen bespreken.

Deel deze pagina:
Pieter
Auteur
Pieter
Developer

Heb je vragen over dit onderwerp of zou je Pieter willen inhuren voor een vergelijkbare opdracht?

Neem contact met ons op

Heb je een .NET expert nodig?

Neem contact met ons op

Wil je weten waar wij goed in zijn?

Ontdek onze expertises
Cookies beheren