02 april 2019

CODE REVIEW

Code review is het systematisch onderzoeken (ook wel aangeduid als onderlinge code toetsing) van de Computer broncode. Het algemene doel van code review is het vinden van eventuele problemen die tijdens de ontwikkelfase over het hoofd zijn gezien. Dit om de consistentie van broncode gedurende het ontwikkeltraject te waarborgen. Zowel de algehele kwaliteit van de software als de vaardigheden van de ontwikkelaars worden hierdoor verbeterd.

Hoe werkt Code Review?

Het proces wordt, in elk geval, door onderstaande rollen behandeld. De schrijver is verantwoordelijk voor het (her)schrijven van de beoordeelde code. Het onderzoeken van de code is de taak van de beoordelaar. De beoordelaar is ook verantwoordelijk voor het rapporteren van de feedback aan de schrijver, zowel positieve als negatieve punten. Wanneer de ontwikkelaar klaar is met het werken aan een oplossing, bekijkt de beoordelaar de code en worden de volgende vragen beantwoord: Zijn er voor de hand liggende fouten in de code te vinden? Zijn alle technische eisen geïmplementeerd? Voldoet de nieuwe code aan de bestaande stijlrichtlijnen en coderingsnormen? Is het mogelijk dat de nieuwe code prestatie- of beveiligingsproblemen voortbrengt? Zijn de geautomatiseerde tests voldoende voor de nieuwe code? Moeten bestaande tests worden herschreven om de gewijzigde code te testen?

Belangrijkste voordelen

Elk softwareproject is uniek en heeft zijn eigen bijzonderheden. Daardoor is het lastig een lijst met voordelen te bepalen die op alle projecten van toepassing zijn. Indien we de meest voorkomende voordelen benoemen, komen we tot onderstaande lijst. ➔ Problemen in de code worden direct gedetecteerd en gecorrigeerd; ➔ Elk lid van het team, niet alleen de schrijver van de code, is verantwoordelijk voor de kwaliteit ervan; ➔ Het delen van kennis gebeurt in deze situatie veel sneller en effectiever; ➔ Alle ontwikkelaars weten niet alleen hun eigen code, maar ook de code van het hele project; ➔ De code van een nieuwe ontwikkelaar aan het project vormt geen bedreiging voor de totale kwaliteit van de code.

Waarom Code Review implementeren?

Hoewel er genoeg tools bestaan voor het automatiseren van de kwaliteitsbewaking (bijvoorbeeld codeanalyse, testen, metrics voor softwarekwaliteit, impactanalyse), gaan de meeste ontwikkelaars verder dan alleen testen en integratie. Elk team kan profiteren van codebeoordelingen, ongeacht de ontwikkelingsmethoden. Agile teams kunnen grote voordelen realiseren, omdat het werk in het hele team wordt gedecentraliseerd. Niemand is verantwoordelijk voor een specifiek deel van de code, iedereen is er mee bezig. Kort gezegd helpen code reviews het delen van kennis over de codebasis voor het hele team.

Code Reviews vragen tijd

Natuurlijk, het kost tijd. Maar die tijd wordt niet verspild - verre van dat. Als het goed is gedaan, bespaart de code-reviewing daadwerkelijk tijd op de lange termijn. 5 tips voor het optimaliseren van het proces: 1. Maak gebruik van code review tools; De beste manier om te zorgen dat defecten worden verholpen, is door gebruik te maken van een beoordelingstool waarmee beoordelaars fouten kunnen melden. De fouten die deze tool aangeeft kan met schrijven worden besproken en goedkeuring krijgen voor veranderingen. 2. Onze hersenen kunnen niet alles tegelijkertijd verwerken; buiten 400 LOC neemt het vermogen om gebreken te vinden af. 3. Kies de juiste mensen; Probeer niet teveel mensen aan te wijzen als beoordelaars. Het aantal aantal gevonden bugs zal hierdoor verminderen. 4. Het bijhouden van de veranderingen; Annotaties begeleiden de beoordelaars door de wijzigingen in de code. Het laat zien wat belangrijk is en verdedigen de reden achter elke codewijziging. 5. Automatiseer; Als een computer een verkeerde code kan opmerken en veranderen, laat de computer het dan doen. Het beargumenteren van spaties versus tabbladen kost tijd en is onnodig om daar menselijke tijd mee te verspillen. Code Analysis Tools, Code Quality Checkers en Code Linters helpen bij het automatiseringsproces.