PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Что такое DRY?

Продвинутые темы

DRY (Don't Repeat Yourself) — это принцип разработки, требующий избегать дублирования: каждая часть знания должна иметь единственное авторитетное представление в коде.

Суть

Повторяющаяся логика выносится в функцию, модуль, константу или компонент. Тогда изменение делается в одном месте, а не копируется по всему коду.

// Нарушение DRY
const priceWithTax1 = price1 * 1.2;
const priceWithTax2 = price2 * 1.2;

// DRY
const withTax = (price) => price * 1.2;

Что помогает соблюдать DRY

  • Переиспользуемые функции и компоненты.
  • Константы вместо «магических» значений.
  • Общие утилиты и хуки.

Опасность переусердствовать

Слепое следование DRY ведёт к преждевременным абстракциям и лишней связанности. Иногда два похожих куска кода — на самом деле разные по смыслу и не должны объединяться. Здесь помогает правило WET/«правило трёх»: выносить в абстракцию после третьего повторения.

Связь с другими принципами

DRY дополняет KISS (просто) и YAGNI (не делай лишнего). Баланс важен: DRY ради DRY может нарушить KISS.

Коротко для собеседования

DRY — не повторяйся: каждое знание живёт в одном месте, изменение — в одной точке. Помогает через функции, компоненты, константы. Но переусердствование ведёт к лишним абстракциям — выносят обычно после третьего повторения.

Другие вопросы раздела