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.