• Portretfoto van Ralph Jacobs
    Ralph Jacobs

Waarom wij alle code reviewen (en hoe jij dit ook kunt doen)

Wij houden van code. Zoveel dat we alle code die we schrijven reviewen. Ja echt, alle code! Waarom? Zo zijn we altijd zeker van een correcte, makkelijk leesbare en goed gestructureerde source code. Met veilige, schaalbare en perfect functionerende applicaties als resultaat. Maar wat is source code reviewing precies? Waarom is het belangrijk? Hoe zetten wij het in en vooral, hoe kan jij dit correct toepassen binnen jouw organisatie? In dit artikel geven we je antwoord op deze vragen én geven we 5 concrete tips om je software effectief te reviewen.

Wat is source code reviewing en waarom is het belangrijk?

Source code reviewing is, zoals de Engelse term het eigenlijk al aangeeft, het beoordelen van de broncode van een applicatie, tool of software tool. Het doel van de code review is om de kwaliteit te controleren en eventueel te verbeteren, fouten op te sporen, de veiligheid van de applicatie te waarborgen en kennis intern te delen.

Het toepassen van source code reviewing vergroot de kwaliteit van de uiteindelijke applicatie. Maar er zijn meer redenen waarom source code reviews belangrijk zijn:

  • Bug detectie: Het identificeren en verhelpen van programmeerfouten en andere problemen die tot bugs of storingen in de software kunnen leiden

  • Kwaliteitswaarborging: Source code reviewing zorgt ervoor dat de code voldoet aan coderingsstandaarden zoals PEP8 en Github PSF Black Formatter en aan de vooropgestelde eisen rondom functionaliteit en kwaliteit van de applicatie.

  • Code complexiteit: door kritisch te kijken naar de complexiteit van de code en ervoor te zorgen dat deze begrijpbaar is, zorg je ervoor dat de code makkelijk overdraagbaar wordt.

  • Veiligheid: Het identificeren van kwetsbaarheden en veiligheidsrisico’s helpt om de veiligheid van de software te vergroten. Daarom vormt source code reviewing ook vaak een onderdeel van je cyber security maatregelen. Een techniek die hier vaak voor wordt ingezet is automated code analysis, waarmee je met software tools zoals SonarQube of Snyk code analyseert op onder andere kwetsbaarheden in je code zoals SQL-injecties, cross-site scripting (XSS) en authenticatiefouten.

  • Onderhoud & schaalbaarheid: Het evalueren van de code op het gebied van schaalbaarheid en onderhoudsgemak is belangrijk om er zeker van te zijn dat de software makkelijk mee groeit met je organisatie. En dat deze bij nieuwe features gemakkelijk aan te passen is.

  • Documentatie: Naast het evalueren van de code is het documenteren van de review en eventueel commentaar een belangrijk onderdeel van het reviewproces. Deze maken toekomstige overdracht en eventuele wijzigingen makkelijker, dus is het van belang dat ze compleet en duidelijk zijn. Ook bij een eventuele hack is het goed om je documentatie van eerder uitgevoerde reviews snel bij de hand te hebben.

  • Kennisoverdracht: De code review wordt altijd uitgevoerd door een collega. Zo leer je van elkaars vaardigheden en creëer je een constante leercurve.

Al deze punten samen maken source code reviewing tot een onmisbaar onderdeel van het development proces. Sinds code reviewing een vast onderdeel is van ons development proces is zowel de kwaliteit van de software als de kennis binnen Four Digits enorm gestegen.

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” — Martin Fowler

Tools die je helpen bij source code reviewing

Elke regel stuk voor stuk handmatig nagaan kost best wat tijd. Gelukkig zijn er een aantal tools die je kunnen helpen bij het source code reviewen. Deze tools scannen de broncode op bugs, kwetsbaarheden en veiligheidsrisico’s en geven snel een overzicht van de manieren waarop de code geoptimaliseerd kan worden.

De keuze voor een passende tool hangt onder andere af van je gebruikte programmeertaal, de scope van het te reviewen project, de reden van je review (bv. code complexiteit versus veiligheid), de schaalbaarheid van je project en het kennisniveau van de reviewer.

Bij Four Digits zien we een combinatie van zowel handmatig als geautomatiseerd reviewen als de beste manier om de kwaliteit van onze applicaties te optimaliseren.

Code review overzicht in Gitlab
Code review overzicht van Gitlab

GitHub en Gitlab, onze tools bij uitstek voor source code reviewing

Bij Four Digits gebruiken we zowel Gitlab en GitHub om source code reviews uit te voeren. Gitlab geeft ons de mogelijkheid om het volledige code reviewing proces te integreren in onze software development cycle en het zo overzichtelijk te houden.

Wanneer onze developers nieuwe code schrijven of bestaande code wijzigen, plaatsen ze deze in de Gitlab repository. Andere teamleden kunnen deze code beoordelen en van feedback voorzien.

Ons development en source code reviewing proces is met behulp van Gitlab en GitHub enorm gestructureerd. Iedereen doorloopt dezelfde stappen en er zijn geen handmatige acties nodig. We richten het zo in om het aantal handelingen te verminderen en daarmee de kans op menselijke fouten te minimaliseren. En dat zien we terug in de kwaliteit van onze software.

Andere tools die je kunt inzetten voor het reviewen van je source code zijn:

5 tips voor effectieve source code reviews

Ben je bijna klaar met het ontwikkelen van jouw applicatie of heb je net een nieuwe feature toegevoegd? Dan is het belangrijk om deze voor live gang te reviewen door een expert. Dit zijn onze 5 tips voor effectieve source code reviews:

  1. Stel duidelijke doelen
    Bepaal voordat je de code laat reviewen duidelijk de doelen van de review. Waar wil je op testen? Enkel op kwaliteit? Of ook op veiligheid? Door specifieke doelen te stellen aan de reviewer ben je er zeker van dat de reviewer effectief kan werken.

  2. Laat de code testen door meerdere developers
    Over het algemeen geldt de regel: Hoe groter het aantal developers dat de code beoordeeld, hoe kleiner de kans op fouten en veiligheidsrisico’s. Vanwege tijd en middelen is het niet altijd mogelijk om code door meerdere developers te laten testen. Kijk of je de code dan kan laten reviewen door een andere developer dan degene die de code geschreven heeft.

  3. Review minder dan 400 code regels per keer
    Uit onderzoek van Smartbear blijkt dat het reviewen van meer dan 400 regels code leidt tot verminderde kans op het detecteren van fouten en kwetsbaarheden.

    Het menselijke brein is beperkt in zijn capaciteit om gegevens te verwerken. Daarom variëren we bij Four Digits onze review processen af met andere werkzaamheden. Zo zijn we er zeker van dat we scherp blijven en effectief kunnen reviewen.

  4. Gebruik checklists
    Klinkt logisch, maar toch zien we bij het reviewen van code die door externe developers geschreven zijn vaak slordigheidsfouten die voorkomen hadden kunnen worden met een simpele checklist. Checklists zorgen ervoor dat reviews consistent zijn en op ieder mogelijk punt beoordeeld worden. We hebben ze in ons reviewproces geïntegreerd om er zeker van te zijn dat we niets vergeten.

  5. Creëer een duidelijk proces voor het fixen van bugs
    Het vinden van bugs en kwetsbaarheden is pas de eerste stap van het reviewproces. De volgende stap is natuurlijk het optimaliseren van de code door het oplossen van de bugs.

    Veel teams hebben geen systematisch proces voor het oplossen van bugs. Toch is dit wel noodzakelijk om de kwaliteit van software te garanderen. Daarom adviseren we om een tool te gebruiken die het mogelijk maakt om bugs te identificeren en te laten beoordelen door meerdere developers.

Met deze tips wordt een goed gestroomlijnd source code reviewing proces niet alleen een eitje! En als grote bonus: door je source code altijd te laten reviewen door een collega, creëer je een mooie constante leercurve binnen jouw organisatie. Wie wil dat nu niet?

We love code

Cookies

Wij maken gebruik van cookies. Meer hierover lees je in onze Privacy- cookieverklaring.