DRY staat voor Don’t Repeat Yourself en is een van de oudste regels in software. Het idee is simpel: elk stukje logica, een berekening, een bedrijfsregel, een label, hoort op één plek thuis en wordt hergebruikt, in plaats van overal in de codebase gekopieerd te worden. De term komt van Andy Hunt en Dave Thomas uit hun boek The Pragmatic Programmer uit 1999.
Stel je een btw-tarief voor dat met de hand in vijftig verschillende facturen is gezet. Verandert het tarief, dan moet iemand alle vijftig opzoeken en stuk voor stuk aanpassen, en er glipt er altijd eentje doorheen. In de DRY-variant staat dat tarief één keer en lezen alle facturen het daar uit, dus één aanpassing repareert alles. Diezelfde gedachte houdt software eerlijk: minder dubbeling betekent minder plekken waar een bug zich kan verstoppen. Het is een hoeksteen van clean code en maakt later refactoren een stuk minder pijnlijk.
In de dagelijkse praktijk pas je DRY toe door een herhaald blok in een functie, een gedeelde constante of een herbruikbare component te trekken. Zie je dezelfde drie regels in vier bestanden staan, dan is dat je sein om ze één naam te geven en die overal aan te roepen.
DRY heeft wel grenzen. Twee fragmenten die vandaag identiek lijken, moeten morgen misschien om verschillende redenen veranderen, en ze te vroeg aan elkaar plakken werkt averechts. Een gangbare vuistregel is om pas samen te voegen als je dezelfde code drie keer hebt gezien, want een te vroege abstractie is vaak lastiger terug te draaien dan een beetje dubbeling. Ervaren developers zien het dus als richtlijn, niet als wet.
Bij TopDevs passen we DRY toe zodat jouw bedrijfsregels op één heldere plek staan, waardoor wijzigingen snel gaan en een fix nooit in tien verschillende bestanden hoeft.