YAGNI · YAGNI (You Aren't Gonna Need It)

АрхитектураЧастота употребления: высокая· Сложность: 2/5· Актуальность: 5/5· Тренд: стабильно

Принцип разработки «вам это не понадобится»: не реализуй функциональность, пока она реально не требуется.

Подробно

YAGNI — принцип экстремального программирования, сформулированный Роном Джеффрисом, который запрещает добавлять код «на будущее». Идея в том, что предположения о будущих требованиях почти всегда ошибочны, а преждевременная реализация приносит стоимость поддержки, тестирования и усложнения архитектуры уже сегодня. Принцип хорошо сочетается с простым дизайном, рефакторингом и разработкой через тестирование: сначала минимально работающее решение, затем расширение по факту появления требований. Применяется при проектировании API, выборе абстракций, планировании спринтов и в код-ревью как аргумент против «универсальных» фреймворков внутри проекта.

Примеры употребления

  • -- Мы добавим интерфейс для второго типа БД?\n-- YAGNI, сейчас у нас одна PostgreSQL.
  • Код-ревью: «Этот слой абстракции — явный YAGNI, удали до появления второго кейса.
  • Правило команды: новые фиче-флаги добавляем только под задачи из текущего роадмапа (YAGNI).
  • YAGNI не отменяет SOLID: границы модулей проектируем, но реализации — по потребности.
#XP #design-principle #refactoring #simplicity

Источники