Stel je voor: je hebt maanden gewerkt aan een onderzoek. De analyses kloppen, de resultaten zijn er, en alles draait om de code die je geschreven hebt.
▶Inhoudsopgave
Maar wat als er een kleine fout zit? Een typefout in een formule, een verkeerde variabele, iets dat niemand heeft gezien.
In de wereld van onderzoekssoftware kan zo'n fout grote gevolgen hebben. Daarom is code review in onderzoek geen luxe, maar een noodzaak. En als we het hebben over code review doen in de wetenschap, dan kom je The Turing Way niet omheen.
Wat is code review eigenlijk?
Code review is simpel gezegd het proces waarbij iemand anders dan de originele schrijver je code doorneemt. Niet om te controleren of je het fout hebt gedaan, maar om samen de kwaliteit te verhogen.
In de softwarewereld is dit al jaren standaard. Bedrijven als Four Digits reviewen letterlijk alle code die ze schrijven. En terecht: het zorgt voor veilige, schaalbare en goed functionerende applicaties.
Maar in de wetenschap werkt het net iets anders. Onderzoekers zijn vaak solo-werkers of werken in kleine teams waar niemand echt de tijd heeft om code te reviewen.
Toch is het minstens zo belangrijk. Onderzoekssoftware bepaalt namelijk de reproduceerbaarheid van je werk. Als je code fouten bevat, kunnen anderen je resultaten niet herhalen. En dat is precies het probleem dat de wetenschap nu probeert op te lossen.
Waarom code review zo belangrijk is voor onderzoekers
Laten we het hebben over cijfers. Uit onderzoek blijkt dat softwarefouten in wetenschappelijk werk vaker voorkomen dan je denkt.
Studies laten zien dat een aanzienlijk deel van de onderzoeksartikelen met code bevat fouten die de resultaten beïnvloeden.
En dat is een probleem, want wetenschap draat om betrouwbaarheid. Code review helpt op meerdere manieren. Ten eerste vang je bugs vroeg op, voordat ze je resultaten verpesten.
Ten tweede verhoogt het de leesbaarheid van je code, wat betekent dat anderen (en jijzelf over zes maan) er makkelijker mee kunnen werken. En ten derde: het maakt je onderzoek reproduceerbaar. En reproduceerbaarheid is de ruggengraat van goede wetenschap. Een externe partij die je code bekijkt, zoals Eaglescience al meer dan tien jaar doet voor complexe software, brengt bovendien verborgen risico's en kwetsbaarheden aan het licht. Die frisse blik is goud waard, ook in de academische wereld.
Hoe werkt code review in de praktijk?
Code review hoeft niet ingewikkeld te zijn. Het begint met een paar basisprincipes.
Eerst: zorg dat je code goed gestructureerd is en voldoende bevat van commentaar.
Dan: laat minimaal één ander persoon je code lezen voordat je het gebruikt voor publicatie. En gebruik tools die je helpen, zoals versiebeheer met Git, waardoor je precies kunt zien wat er is veranderd en wie het heeft veranderd. In de praktijk ziet een reviewproces er vaak zo uit: je schrijft code, je maakt een zogenaamde pull request aan, en een collega bekijkt de wijzigingen.
Die persoon kijkt niet alleen naar wat de code doet, maar ook hoe het is geschreven. Is het leesbaar? Zijn er edge cases niet afgehandeld?
Is de documentatie compleet? Dit proces kan binnen een uur duren, of een paar dagen voor grotere stukken code. Het hangt af van de complexiteit.
Waarom The Turing Way het voorbeeld neerzet
En dan komen we bij The Turing Way als leidraad voor reproduceerbaar onderzoek.
Als je het hebt over goede praktijken in wetenschappelijke software, dan is dit de gids die je moet lezen. Het is een open-source project dat een heel boek aanbevelingen en richtlijnen biedt voor betrouwbaar en reproduceerbaar onderzoek. Wat The Turing Way zo goed doet, is dat ze code review niet behandelen als een technisch detail, maar als onderdeel van een bredere cultuur van open en betrouwbare wetenschap.
Ze laten zien hoe je code review kunt integreren in je dagelijkse werk als onderzoeker. Niet als extra last, maar als iets dat je uiteindelijk tijd bespaart en je werk beter maakt.
The Turing Way benadrukt bijvoorbeeld het belang van documentatie naast code review.
Code zonder uitleg is moeilijk te reviewen. Ze stimuleren onderzoekers om hun werk zo te schrijven dat anderen het kunnen begrijpen, hergebruiken en controleren. Dat is precies de mentaliteit die de wetenschap nodig heeft. Daarnaast is The Turing Way zelf een mooi voorbeeld van hoe open samenwerking werkt.
Het project wordt door honderden mensen wereldwijd bijgedragen, en elke wijziging wordt gereviewd. Het is code review in zijn zuiverste vorm, maar dan op grote schaal en met als doel: betere wetenschap voor iedereen.
Conclusie: review je code, verbeter je onderzoek
Code review in onderzoek is geen technische exercitie voor nerds. Het is een fundamentele stap naar betrouwbaarder, reproduceerbaarder en beter onderzoek.
Of je nu werkt aan een kleine dataset of aan een complex simulatiemodel: laat je code lezen door iemand anders. Het maakt je werk sterker. En als je niet weet waar je moet beginnen, begin dan bij The Turing Way.
Het is gratis, het is open, en het legt je precies uit hoe je aan de slag kunt.
Want goede wetenschap begint met goede code. En goede code begint met review.
Veelgestelde vragen
Wat is precies de bedoeling van code review?
Code review is een proces waarbij iemand anders dan de oorspronkelijke programmeur je code bekijkt. Het doel is niet om te controleren of je fouten hebt gemaakt, maar om samen de kwaliteit van de code te verbeteren en te zorgen dat de code betrouwbaar en makkelijk te begrijpen is voor anderen.
Wat maakt code review zo belangrijk voor onderzoekers?
Onderzoekers moeten ervoor zorgen dat hun resultaten reproduceerbaar zijn. Code review helpt hierbij door potentiële fouten in de code vroegtijdig te identificeren, wat essentieel is voor de betrouwbaarheid van de onderzoeksresultaten en de mogelijkheid voor anderen om het onderzoek te herhalen.
Hoe vaak komen er fouten voor in de code van wetenschappelijke onderzoeken?
Onderzoek toont aan dat er relatief vaak fouten in de code van wetenschappelijke onderzoeken voorkomen die de resultaten kunnen beïnvloeden. Het is daarom cruciaal om code review te implementeren om deze risico's te minimaliseren en de integriteit van het onderzoek te waarborgen. Naast het opsporen van fouten, verhoogt code review de leesbaarheid van de code, wat het makkelijker maakt voor anderen (en jezelf over zes maanden!) om de code te begrijpen en te onderhouden.
Wat zijn de voordelen van code review naast het opsporen van fouten?
Het zorgt er ook voor dat je onderzoek reproduceerbaar is, een fundamenteel principe van goede wetenschap. Om code review te faciliteren, kun je gebruik maken van tools zoals versiebeheer systemen, zoals Git, die je inzicht geven in de wijzigingen die zijn aangebracht en wie ze heeft aangebracht. Dit maakt het makkelijker om de code te beoordelen en eventuele problemen te identificeren.