El principio DRY (no te repitas) es una de las mejores prácticas en el desarrollo de software que recomienda a los ingenieros de software hacer algo una vez, y solo una vez. El concepto, que a menudo se atribuye a Andrew Hunt y David Thomas, autores de "The Pragmatic Programmer", es el opuesto irónico del principio WET, que significa "escribir todo dos veces".
De acuerdo con el principio DRY, cada fragmento discreto de conocimiento debe tener una representación autorizada, inequívoca, dentro de un sistema. El objetivo del principio DRY es reducir la deuda técnica eliminando redundancias en el proceso y la lógica siempre que sea posible.
Redundancias en proceso
Para evitar redundancias en los procesos (acciones necesarias para lograr un resultado), los seguidores del principio DRY buscan asegurarse de que solo haya una forma de completar un proceso en particular. Automatizar los pasos siempre que sea posible también reduce la redundancia, así como el número de acciones necesarias para completar una tarea.
Rabundancias en la lógica
Para evitar redundancias en la lógica (código), los seguidores del principio DRY utilizan la abstracción para minimizar la repetición. La abstracción es el proceso de eliminar características hasta que solo quedan las características más esenciales.
Un objetivo importante del principio DRY es mejorar la capacidad de mantenimiento del código durante todas las fases de su ciclo de vida. Cuando se sigue el principio DRY, por ejemplo, un desarrollador de software debería poder cambiar el código en un lugar y hacer que el cambio se aplique automáticamente a cada instancia del código en cuestión.