Gericht code verbeteren

SonarQubeCode schrijven is een creatief proces, veel stukken code zijn uniek. Dat is de vrijheid die een ontwikkelaar heeft. Die vrijheid zorgt ook voor risico’s. Als de code telkens opnieuw uitgevonden wordt, zit een fout in een klein hoekje. Daarom is het prettig om verschillende vangnetten te hebben. Naast unit tests kan een code-analyse-tool in een vroegtijdig stadium mogelijke problemen ontdekken. Naast de Static Code Analysis die beschikbaar is in Visual Studio, heeft Microsoft nu SonarQube (http://www.sonarqube.org/) omarmd als (server)tool om dit gebied te dekken.

Technical debt inzichtelijk met SonarQube

Via SonarQube is het mogelijk Static Code Analysis te draaien als onderdeel van de TFS Build en er vervolgens ook nog over te rapporteren. Het voordeel van rapportages is dat code kwaliteit inzichtelijk gemaakt kan worden, ook voor stakeholders die minder technische kennis hebben. Daarmee kan de tool ook ingezet worden om "Technical Debt" (meestal ontstaan door snelle reparaties of door tijdelijke aanpassingen, die niet zo tijdelijk zijn gebleken) inzichtelijk te maken voor bijvoorbeeld een Product Owner, die dan weer de keuze kan maken om er iets aan te doen als Static Code Analysis onderdeel van de "Definition of Done".

SonarQube is nog veel breder inzetbaar. Problemen die naar boven komen in de code worden van een “tag” voorzien. Denk hierbij aan tags als “security”, “performance”, “maintainability”. Wanneer blijkt dat er bijvoorbeeld problemen met de beveiliging van het softwareproduct zijn, kunnen issues gefilterd worden op de tag “security” en kan vanuit code-perspectief een verbeteringsslag gemaakt worden.

Sonarlint

De laatste tijd wordt er actief doorontwikkeld voor C#, VB.NET en andere Microsoft technologieën in combinatie met SonarQube. Daardoor is het nu mogelijk om via SonarLint Sonarlint(http://www.sonarlint.org/visualstudio/, Visual Studio add-in) dezelfde Static Code Analysis regels toe te passen binnen Visual Studio als de regels die gebruikt worden in SonarQube. Daarmee wordt het risico kleiner dat problemen pas na de TFS Build ontdekt worden.

Codekwaliteit naar een hoger niveau

De inzet van SonarQube binnen uw bedrijf kan helpen om codekwaliteit naar een hoger niveau te tillen. Het is wel raadzaam om ervoor te zorgen dat het ook daadwerkelijk gebruikt wordt. Denk hierbij aan mogelijkheden als: maandelijkse review van de regels die gebruikt/ingezet worden, tijdens bug triage bekijken of er regels extra ingezet moeten worden, opzetten van “Quality Gates” in SonarQube en daar e-mail notificaties voor inregelen etc.

Wanneer u geïnteresseerd bent in de inzet van SonarQube, kan een ervaren ALM Consultant van Delta-N u helpen bij de installatie en begeleiding bij introductie en gebruik. Neem daarvoor contact op met Roy Driessen (085-4875211 / royd@delta-n.nl)