Принцип DRY (Don't Repeat Yourself)
Принцип разработки ПО, гласящий, что каждый элемент знания должен иметь единственное, авторитетное представление в системе.
Определение
DRY был сформулирован Энди Хантом и Дейвом Томасом в книге "The Pragmatic Programmer". Это не только об избегании copy-paste кода — это об избегании дублирования знаний и намерений. Когда логика дублируется, изменения нужно вносить в нескольких местах, увеличивая риск багов. Техники достижения DRY: функции, классы, модули, шаблоны. Однако преждевременная абстракция может быть хуже некоторого дублирования — важен баланс.
Почему это важно
Нарушения DRY (WET-код - "Write Everything Twice") делают поддержку дорогой и ошибкоопасной. Исследования показывают, что дублированный код имеет на 50% больше дефектов, потому что исправления часто применяются непоследовательно.
Пример
WET-код: логика валидации email скопирована в 5 разных обработчиков форм. DRY-решение: выделить функцию validateEmail(email), используемую всеми обработчиками.