YAGNI (You Aren't Gonna Need It)¶
YAGNI говорит: не реализуйте то, в чем нет подтвержденной потребности прямо сейчас.
Что означает в 1С¶
Для 1С это особенно полезно в прикладной архитектуре, где легко начать проектировать:
- "универсальный" механизм;
- набор расширений "на будущее";
- поддержку пяти каналов, хотя сейчас есть только один;
- сложную иерархию сервисов без живого сценария использования.
Пример на 1С¶
Если в системе есть только один провайдер печати, то:
- один модуль печати часто достаточно;
- фабрика провайдеров, реестр расширений и стратегия выбора могут подождать до реального второго варианта.
Когда полезен¶
- когда команда начинает проектировать на годы вперед;
- когда требования пока не подтверждают вариативность;
- когда хочется сократить объем лишнего кода и поддержки.
Когда применяют неправильно¶
- когда игнорируют уже известные, подтвержденные требования;
- когда "не нужно сейчас" путают с "точно никогда не понадобится";
- когда из-за
YAGNIубирают даже простую точку расширения, которая уже назрела.