O princípio DRY (não se repita) é uma melhor prática no desenvolvimento de software que recomenda engenheiros de software a fazer algo uma vez, e apenas uma vez. O conceito, que é frequentemente creditado a Andrew Hunt e David Thomas, autores de "The Pragmatic Programmer", é o oposto do princípio WET, que significa "escrever tudo duas vezes"
Segundo o princípio DRY, every discreto pedaço de conhecimento deve ter uma, inequívoca e autoritária representação dentro de um sistema. O objetivo do princípio DRY é reduzir o débito técnico, eliminando redundâncias em processos e lógica sempre que possível.
Redundancies in process
Para prevenir redundâncias em processos (ações necessárias para atingir um resultado), seguidores do princípio DRY procuram assegurar que só há uma maneira de completar um determinado processo. Automatizar os passos sempre que possível também reduz a redundância, assim como o número de ações necessárias para completar uma tarefa.
>br> R< forte>edundancies in logic
Para prevenir redundâncias em lógica (código), seguidores do princípio DRY usam abstração para minimizar a repetição. A abstração é o processo de remoção de características até que apenas as características mais essenciais permaneçam.
Um objetivo importante do princípio DRY é melhorar a manutenção do código durante todas as fases do seu ciclo de vida. Quando o princípio DRY é seguido, por exemplo, um desenvolvedor de software deve ser capaz de mudar o código em um só lugar, e ter a mudança automaticamente aplicada a cada instância do código em questão.