Let op! Uw browser is verouderd, dit kan negatief effect hebben op de gebruikerservaring. Download Chrome
X
Wat zijn het en waarom werken we ermee?

Het nut van pull-requests

Bij het ontwikkelen van software komen veel verschillende factoren kijken. De belangrijkste factor zijn natuurlijk de developers die daadwerkelijk de software ontwikkelen. Ontwikkelaars die samen aan dezelfde software werken, dienen dan ook nauw samen te werken om tot een werkend geheel te komen. Maar binnen dit proces kunnen alle ontwikkelaars niet tegelijkertijd aan dezelfde functionaliteit van de applicatie werken. Naast dat het onpraktisch is, duurt de oplevering dan ook veel te lang. Daarom worden de taken opgedeeld onder de ontwikkelaars en voegen ze de ontwikkelde functionaliteiten later samen. Daar komt de pull-request om de hoek kijken!

Pull requests
Pull requests

Maar hoe kun je al die stukjes afzonderlijk geschreven code samenvoegen tot werkende software? Geen enkele developer schrijft code precies op dezelfde manier als de andere. En wat voor de ene developer heel logisch is, kan voor een andere developer totaal niet het geval zijn. Daarom is het handig als developers thuis zijn in de door andere developers geschreven functionaliteiten en een algeheel beeld hebben van de applicatie. Een techniek om bovenstaande te bereiken en de continuïteit van je product te waarborgen is door middel van pull-requests.

In deze blog zetten we de voor- en nadelen van pull-requests uitéén en vertellen we waarom wij er binnen de ontwikkelteams van Covadis mee werken.

Kwaliteit & overdraagbaarheid

De voordelen van een pull-request

Wij maken gebruik van pull-requests om de kwaliteit, overdraagbaarheid en continuïteit van de software te waarborgen.

Hoge kwaliteit van de code

Het voordeel van een pull-request met betrekking tot de kwaliteit is dat er goed wordt gekeken naar de kwaliteit van de code. Tijdens een review wordt er door één of meerdere collega’s gekeken of de codestijlregels zijn gevolgd. Zoals; zijn er geen rare functie- of klassenamen gebruikt? Of worden de conventies rondom de naamgeving goed toegepast. Als dit het geval is, kan een reviewer dit aangeven in de comments en kan de ontwikkelaar dit verwerken.

Wat is een Pull Request
Wat is een Pull Request

Overdraagbaarheid van de code

Pull-requests zijn goed voor de overdraagbaarheid van de code en het project. Door andere developers mee te nemen in de code, weten zij hoe de code werkt en blijft de kennis niet beperkt tot één developer. Wanneer die developer wegvalt, kan het project relatief eenvoudig worden overgenomen. Daarnaast wordt de geschiedenis van de comments opgeslagen en is het leerzaam voor andere developers om elkaars werk te bekijken en te beoordelen.

Doorlooptijd & kosten

De nadelen van een pull-request

Aan het werken met pull-requests zit ook een aantal nadelen verbonden. Allereerst zal het ontwikkelproces langer duren; hoe meer reviewers er zijn, hoe langer het proces duurt. Daarnaast bestaat het gevaar dat reviewers kritiek leveren, puur omdat ze kritiek moeten leveren. Het is goed om kritisch te zijn, maar houd het binnen de context en blijf pragmatisch handelen.

Bovendien is het goed om te bedenken hoe streng de kwaliteitseisen zijn. Hangt er veel van applicatie af, of kunnen bepaalde zaken worden weggelaten of worden geaccepteerd? Bijvoorbeeld; Software voor een monteursplanning heeft meer ruimte voor speling en minder strenge eisen dan software voor het monitoren van een hart in ziekenhuizen. Kortom, wat is de impact? Hoe strikter de eisen, hoe meer mensen de code controleren en, uiteindelijk, hoe hoger de kosten.

Werken met pull-requests

Wij vinden de kwaliteit van onze oplossingen heel erg belangrijk. De code moet goed zijn en de continuïteit moet ook worden gewaarborgd. Daarom maken wij bij Covadis in al onze projecten gebruik van pull-requests. Al onze ontwikkelaars zijn scherp op elkaar, maar blijven hierin altijd pragmatisch.

Als opdrachtgever ben jij er zeker van dat alle code door minstens twee paar ogen is bekeken. Dit draagt bij aan de continuïteit van het ontwikkeltraject en de kwaliteit van de applicatie. Zo besparen de pull-requests jou dus tijd en geld. Fijn gevoel toch?

Hoi! Ik ben Chiel. Wil je vrijblijvend sparren?

Chiel Pas