Don’ t repeat yourself (suchy, a czasem nie powtarzaj się) to zasada rozwoju oprogramowania mająca na celu ograniczenie powtarzania wzorców oprogramowania, zastąpienie go abstrakcjami lub zastosowanie normalizacji danych w celu uniknięcia redundancji.
zasada sucha jest sformułowana jako „każda wiedza musi mieć jedną, jednoznaczną, autorytatywną reprezentację w systemie”. Zasada ta została sformułowana przez Andy 'ego Hunta i Dave’ a Thomasa w ich książce The Pragmatic Programmer. Stosują go dość szeroko, aby uwzględnić „Schematy baz danych, plany testowe, system budowania, a nawet dokumentację”. Gdy zasada DRY jest z powodzeniem stosowana, modyfikacja pojedynczego elementu systemu nie wymaga zmiany innych logicznie niepowiązanych elementów. Dodatkowo elementy, które są logicznie powiązane, zmieniają się w sposób przewidywalny i jednorodny, a tym samym są zsynchronizowane. Oprócz używania metod i podprogramów w swoim kodzie, Thomas I Hunt polegają na generatorach kodu,systemach automatycznego budowania i językach skryptowych, aby przestrzegać zasady DRY na różnych warstwach.