Управление включением и отключением функциональности без нового деплоя.
Назначение
- Включать новую функциональность постепенно (по окружениям, по процентам пользователей, по ролям).
- Отключать проблемную фичу в production без отката релиза.
- Проводить A/B тесты и эксперименты.
Принципы
- Флаги имеют понятное имя и описание; по умолчанию — безопасное состояние (фича выключена, если иное не согласовано).
- Конфигурация флагов хранится во внешнем сервисе или в конфигурации окружения; не хардкод в коде.
- Устаревшие флаги удаляются после полного rollout фичи; в коде не накапливать мертвые проверки.
Использование в коде
- Проверка флага в точке входа (API handler, use case): если выключен — возвращать старую логику или 404/feature unavailable.
- Не разбрасывать проверки по всей кодовой базе; по возможности одна точка решения (middleware, decorator, конфиг в use case).
Связь с окружениями
- В dev/stage флаги могут быть включены для тестирования; в prod — по политике rollout.
- Изменение флагов в prod — по процессу изменений; при необходимости с откатом.
Связанные страницы
- Definition of Done — учёт флагов при завершении фичи
- Platform / Observability — мониторинг влияния включенных фич
- Analytics / Experiments — эксперименты и A/B тесты