SYSTEM ATLASЗагрузка материала

WET

Write Everything Twice

Небольшое повторение иногда дешевле преждевременной абстракции.

Простыми словами

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

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Решение принимают без учета механизма «WET», оценивая только ближайший эффект.

Системный подход

Перед изменением проверяют, как «WET» влияет на ограничения, стимулы, зависимости и вторичные последствия.

Ограничения

«WET» объясняет только часть происходящего в области «Архитектура ПО». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

Software engineering community. Write Everything Twice / Write Every Time (contemporary).

Первоисточник