Wat is een code review?
Een code review is een proces waarbij ontwikkelaars elkaars code controleren om de kwaliteit, leesbaarheid en functionaliteit te verbeteren, voordat deze wordt samengevoegd in de hoofdcodebase. Dit kan handmatig gebeuren of met behulp van tools zoals GitHub pull requests, GitLab Merge Requests of code review tools zoals SonarQube.
Waarom is een code review belangrijk?
- Vroegtijdig fouten en bugs opsporen: Voorkomt dat fouten in productie belanden.
- Codekwaliteit verbeteren: Zorgt voor schone, goed gestructureerde en onderhoudbare code.
- Kennisdeling: Ontwikkelaars leren van elkaar en worden bekend met verschillende delen van de codebase.
- Consistentie bewaren: Zorgt ervoor dat de codebase dezelfde stijl en best practices volgt.
- Beveiliging verbeteren: Kan helpen om kwetsbaarheden en beveiligingsrisico’s op te sporen.
Casus
Een e-commercebedrijf lanceert een nieuwe kortingsactie: klanten krijgen 20% korting op alle producten. De marketingafdeling verwacht een flinke stijging in verkoop, maar na de lancering komen er klachten binnen. Klanten melden dat sommige producten bijna gratis worden aangeboden.
Wat is er gebeurd?
Tijdens de ontwikkeling is een fout gemaakt in de berekening van de korting. In plaats van 20% van de prijs af te trekken, wordt de prijs vermenigvuldigd met 20%, waardoor sommige producten bijna gratis worden verkocht.Gevolgen van de bug in productie:
- Grote financiële verliezen doordat klanten producten kopen voor een fractie van de prijs.
- Boze klanten wanneer de fout wordt hersteld en bestellingen mogelijk worden geannuleerd.
- Reputatieschade, omdat klanten de webshop minder betrouwbaar vinden.
Wat als de fout was opgemerkt in een code review?
- De fout had binnen enkele minuten gecorrigeerd kunnen worden.
- De kortingsactie was zonder problemen gelanceerd.
- Het bedrijf had geen financiële schade opgelopen.
Conclusie: Bugs die in productie worden ontdekt, zijn veel duurder dan wanneer ze vroegtijdig worden opgespoord!
Hoe verloopt een code review?
Een code review verloopt in een aantal stappen:
- Ontwikkelaar maakt een Pull/Merge Request
De nieuwe code wordt ingediend voor beoordeling. - Collega’s reviewen de code
Ze checken op bugs, efficiëntie, leesbaarheid en best practices. - Feedback wordt verwerkt
De auteur past de code aan op basis van de ontvangen opmerkingen. - Goedkeuring en merge
Na goedkeuring wordt de code samengevoegd in de hoofdbranch.
Volgende stap: Uitleg code smells