Wat een kapot raam te maken heeft met slordige code

Auteur: Maarten Bode

Eerder dit jaar las ik "De meeste mensen deugen" van Rutger Bregman. In dit boek kwam de broken-window theorie langs. Er zijn meerdere interpretaties van deze theorie, waarvan ook een schadelijke die binnen de politie van New York is toegepast.

De essentie van de theorie komt neer op het volgende. Wanneer er in de buurt criminaliteit zichtbaar is, bijvoorbeeld een auto met een gebroken raam of (illegale) graffiti, is de kans groter dat er in dezelfde buurt meer criminaliteit ontstaat.

Een gebouw met gebroken ramen

Zonder direct slordige code te vergelijken met criminaliteit (alhoewel...), denk ik dat er overeenkomsten zijn met de omgeving waarin wij als developers werken.

In bijna elk project zit wel een deel waarvan iedereen weet dat het slordig is, maar het doet zijn werk. Af en toe moet je (met angst) iets aanpassen, maar uiteindelijk kun je met een pleister er wel voor zorgen dat het weer werkt.

Dit is een kapot raam.

Door te accepteren dat een deel van je project niet voldoet aan de standaarden die je wel voor nieuwe code stelt, creëer je een omgeving waarin het acceptabel wordt om code van mindere kwaliteit op te leveren.

Betekent dit dat alle code perfect moet zijn? Ik denk het niet. Probeer er wel bewust van te zijn dat — zeker wanneer je een meer senior-positie hebt — elk deel van het project aan standaarden moet voldoen om de lat hoog te houden.

Koppel het aan de Boy Scout Rule ("Always leave the campground cleaner than you found it"). Zo kun je constant de code waarmee je werkt beteren en ervoor zorgen dat de kwaliteit steeds beter wordt, in plaats van minder.

Binnen ons team hebben we afgesproken dat elk bestand dat je aanpast, met terugwerkende kracht moet voldoen aan de standaarden die we tegenwoordig stellen. Als dat betekent dat je daarom een aantal zaken moet refactoren, is daar ruimte voor.

Dit helpt ons om de meer dan 300 projecten die in de afgelopen 15 jaar gemaakt zijn elke dag wat netter te maken, in plaats van slordiger. One broken window at a time.