De manier waarop we software ontwikkelen verandert in hoog tempo. Met de opkomst van AI-geassisteerde ontwikkeling en tools zoals GitHub Copilot, groeit de hoeveelheid automatisch gegenereerde code. Dat versnelt het werk, maar roept ook nieuwe vragen op: hoe behoud je grip op de kwaliteit van code die je deels niet zelf hebt geschreven?
Ook bij Axendo merken we deze verschuiving. In veel projecten ligt de nadruk op functionele testen: “doet de software wat het moet doen?” Maar de onderliggende structuur blijft vaak onderbelicht. Technische fouten, onnodige complexiteit of kwetsbaarheden worden minder snel zichtbaar, en stapelen zich ongemerkt op. De code wordt daardoor steeds complexer en moeilijker aanpasbaar. Dit vergroot het risico op fouten, vertraagt toekomstige aanpassingen en maakt onderhoud kostbaarder.
Juist in de context van maatwerk webdevelopment, waarbij meerdere developers in wisselende samenstellingen aan klantprojecten werken, is het essentieel om ook structureel naar de technische staat van de code te blijven kijken. Door dit automatisch en consistent te doen tijdens het ontwikkelproces, voorkom je dat kleine problemen zich ontwikkelen tot grotere obstakels.
Geautomatiseerde code-analyse biedt hiervoor uitkomst. Tools als SonarQube maken het mogelijk om tijdens het ontwikkelproces continu zicht te houden op de gezondheid van de codebase.
SonarQube scant op aspecten als:
Door deze signalen vroegtijdig te tonen – bij voorkeur direct na elke wijziging – ontstaat een kwaliteitscultuur waarin structurele verbeteringen onderdeel worden van het proces, met meetbaar hogere kwaliteit als resultaat.
Tijdens het project is de feedback van SonarQube wekelijks besproken in het team. Gevonden issues, zoals het ontbreken van eenvoudige veiligheidscontroles (bijvoorbeeld controleren of een waarde wel beschikbaar is voordat deze gebruikt wordt), konden direct worden aangepakt. Zo werden mogelijke fouten in een vroeg stadium voorkomen, nog vóór ze in test- of productiefase tot echte problemen zouden leiden.
Naarmate het project groeide en de hoeveelheid code toenam, werd de feedback van SonarQube steeds waardevoller. Patronen kwamen scherper in beeld, de herkenning van risicovolle constructies werd beter, en ook de leesbaarheid van de code verbeterde zichtbaar. Door duidelijke richtlijnen en consistentie in opbouw werd de code begrijpelijker en makkelijker overdraagbaar.
Bovendien werkte het als leereffect voor het team. Niet elke developer is op de hoogte van álle best practices of valkuilen, zeker niet in een snel veranderende codebase. SonarQube hielp daarbij: het wees op verbeterpunten, gaf uitleg en maakte zo de kwaliteit bespreekbaar zonder dat het persoonlijk werd. De tool werd daarmee niet alleen een technische controle, maar ook een instrument voor continue ontwikkeling.
Binnen een paar projecten hebben we SonarQube op de volgende manier geïntegreerd in het ontwikkelproces:
Toont gedetailleerde fouten, code smells en kwetsbaarheden met severity-indicatoren naast de projectbestanden
Een concreet voorbeeld: in een project werd per ongeluk een externe API-sleutel toegevoegd aan de code tijdens een ontwikkeltest. SonarQube gaf automatisch een waarschuwing dat er mogelijk gevoelige gegevens waren meegecommit. Dankzij die vroege detectie konden we dit direct herstellen, de sleutel veilig verplaatsen naar de configuratie en de buildstraat aanpassen om dit soort fouten in de toekomst te voorkomen. Zonder deze automatische controle zou dit probleem waarschijnlijk pas later zijn opgemerkt.
Een van de sterke elementen van SonarQube is het dashboard. Hierin is in één oogopslag te zien hoe de technische gezondheid van een project ervoor staat. Denk aan indicatoren zoals:
Zowel projectmanagers als klanten krijgen hierdoor transparant inzicht in de voortgang en kwaliteit. Dit versterkte het onderlinge vertrouwen en maakte de discussie over technische keuzes concreter en constructiever.
Projectoverzicht met metrics zoals bugs, vulnerabilities, duplicaties en dekking (coverage). Dit geeft in één oogopslag een beeld van de codekwaliteit.
Door SonarQube te integreren in het ontwikkelproces is codekwaliteit structureel verbeterd, zonder extra druk op het team. De belangrijkste opbrengsten:
We willen SonarQube in toekomstige projecten verder blijven inzetten, in samenwerking met andere kwaliteits- en securitytools. De aanpak is eenvoudig op te schalen naar meerdere teams of repositories. Zo bouwen we stap voor stap aan software die niet alleen werkt, maar ook onderhoudbaar en toekomstbestendig is.