intermediate
Feature flags
Разделяйте deploy кода и release фичи, чтобы команды могли безопасно merge, тестировать, таргетировать и отключать поведение.
Feature flags позволяют выкатывать код независимо от показа поведения. Они поддерживают trunk-based development, таргетированный rollout, эксперименты, kill switch и более безопасную progressive delivery.
| Тип флага | Применение | |-----------|------------| | Release | Скрыть незавершённую фичу | | Ops kill switch | Быстро отключить сломанный путь | | Experiment | A/B с метриками |
Флаги не заменяют авторизацию — проверки прав остаются на сервере. Долгоживущие флаги становятся скрытыми ветками в production и требуют lifecycle cleanup и тестов обоих состояний при высоком риске.
На интервью: устаревшие флаги, нагрузка на test matrix, ошибки с authorization, latency конфигурации и ownership флагов.
Типовые ошибки: флаги как security; никогда не удаляют старые флаги; тестируют только путь «включено».
Компромисс — гибкость поставки против операционной и тестовой сложности.
Чеклист:
- Разделяйте deploy и release.
- Lifecycle и владельцы флагов.
- Тестируйте оба состояния при высоком риске.
- Флаги не заменяют auth checks.