Перейти к содержанию

YAGNI (You Aren't Gonna Need It)

YAGNI говорит: не реализуйте то, в чем нет подтвержденной потребности прямо сейчас.

Что означает в 1С

Для 1С это особенно полезно в прикладной архитектуре, где легко начать проектировать:

  • "универсальный" механизм;
  • набор расширений "на будущее";
  • поддержку пяти каналов, хотя сейчас есть только один;
  • сложную иерархию сервисов без живого сценария использования.

Пример на 1С

Если в системе есть только один провайдер печати, то:

  • один модуль печати часто достаточно;
  • фабрика провайдеров, реестр расширений и стратегия выбора могут подождать до реального второго варианта.

Когда полезен

  • когда команда начинает проектировать на годы вперед;
  • когда требования пока не подтверждают вариативность;
  • когда хочется сократить объем лишнего кода и поддержки.

Когда применяют неправильно

  • когда игнорируют уже известные, подтвержденные требования;
  • когда "не нужно сейчас" путают с "точно никогда не понадобится";
  • когда из-за YAGNI убирают даже простую точку расширения, которая уже назрела.