Хорошая статья про DRY
Оказалось, что принцип DRY был впервые описан в книге “Программист Прагматик”, которую я обязательно прочитаю в будущем.
Принцип DRY о дублировании знания (обычно к знаниям относят бизнес-логику или алгоритмы), а не кода, поэтому:
- Дублирование знания является нарушением принципа DRY.
- Дублирование кода не обязательно является нарушением принципа DRY.
Неправильное применение принципа DRY приведёт к:
- Бесполезным абстракциям
- Преждевременной оптимизации
Которые в свою очередь приведут к увеличению сложности и ненужному объединению кода.
В комментах дали ссылку на “Правило трёх”
Которое говорит, что дублирование однозначно вредно, если код дублируется в трёх местах, и может быть как вредным так и нет, если дублируется в двух.