DRY
DRY staat voor Don’t Repeat Yourself, een principe in softwareontwikkeling dat stelt dat herhaling van code of logica zoveel mogelijk moet worden vermeden. Het doel van DRY is om de code overzichtelijk en efficiënt te houden. Door herhalingen te vermijden, wordt de kans op fouten kleiner en kan aanpassingen doorvoeren eenvoudiger worden.
Inhoudsopgave
Wat is DRY?
Het DRY-principe werd geïntroduceerd in het boek The Pragmatic Programmer door Andy Hunt en Dave Thomas. Het uitgangspunt is dat elke kennis of logica in een systeem slechts één keer mag voorkomen. Dit betekent dat ontwikkelaars duplicatie moeten vermijden door bijvoorbeeld functies, klassen of modules te maken die herbruikbaar zijn.
Een bekende uitspraak die aansluit bij DRY is:
“Elke stuk informatie of logica in een systeem moet één enkele, ondubbelzinnige en autoritatieve bron hebben.”
Waarom is DRY belangrijk?
Het vermijden van herhaling heeft verschillende voordelen:
Onderhoudbaarheid: Wijzigingen hoeven maar op één plek te worden doorgevoerd.
- Efficiëntie: Minder code schrijven betekent minder kans op fouten en sneller werken.
- Leesbaarheid: Overzichtelijke en modulaire code is makkelijker te begrijpen.
- Consistentie: Een enkele bron van waarheid vermindert het risico op tegenstrijdigheden.
Bijvoorbeeld: als je dezelfde logica op meerdere plaatsen in je code hebt en een bug moet oplossen, moet je op elke locatie wijzigingen doorvoeren. Met DRY hoef je dit maar één keer te doen.
Veelgestelde vragen
Niet altijd. Het overmatig toepassen van DRY kan leiden tot complexe structuren, ook wel bekend als “over-engineering”. Soms is een klein beetje duplicatie acceptabel om de leesbaarheid of eenvoud te behouden.
Als je dezelfde logica of data meerdere keren ziet in je codebase, is dat vaak een teken dat je DRY kunt toepassen. Dit wordt ook wel “code duplication” genoemd.
Niet-DRY code kan leiden tot inconsistente wijzigingen, verhoogde kans op bugs en meer tijdsintensief onderhoud.
KISS staat voor Keep It Simple, Stupid en richt zich op eenvoud in code. DRY en KISS kunnen elkaar aanvullen, maar een overdreven focus op DRY kan soms botsen met de eenvoud die KISS voorstaat.