herhaal jezelf niet (droog, of soms herhaal jezelf niet) is een principe van softwareontwikkeling gericht op het verminderen van herhaling van softwarepatronen, het vervangen door abstracties of het gebruik van data normalisatie om redundantie te voorkomen.
het droge principe wordt gesteld als “elk stukje kennis moet één eenduidige, gezaghebbende voorstelling hebben binnen een systeem”. Het principe is geformuleerd door Andy Hunt en Dave Thomas in hun boek The Pragmatic Programmer. Ze passen het vrij breed toe om “databaseschema’ s, testplannen, het bouwsysteem, zelfs documentatie”op te nemen. Wanneer het droge principe met succes wordt toegepast, vereist een wijziging van een enkel element van een systeem geen wijziging van andere logisch niet-verwante elementen. Bovendien veranderen elementen die logisch gerelateerd zijn allemaal voorspelbaar en uniform, en worden ze dus synchroon gehouden. Naast het gebruik van methoden en subroutines in hun code, vertrouwen Thomas en Hunt op codegeneratoren, automatische bouwsystemen en scripttalen om het droge principe in alle lagen in acht te nemen.