Skip to main content

Що таке feature flag?

Feature flag (фіча-флаг) - це механізм, що дає змогу вмикати або вимикати певні функції застосунку без зміни коду і без нового релізу. Він дає команді контроль над тим, хто і коли бачить нову функціональність.

Як це працює

  • У коді нова функція обгортається умовою:

    python
    if feature_flag("new_ui"): show_new_interface() else: show_old_interface()
  • Флаг зберігається в конфігурації (файл, БД, сервіс на кшталт LaunchDarkly, Unleash).

  • Розробники або продукт-менеджери можуть увімкнути фічу вибірково - наприклад, лише для 10% користувачів або конкретної групи.

Навіщо потрібні feature flags

  1. Безпечне розгортання Нову функцію можна вмикати поступово (rollout), відстежуючи метрики і помилки.
  2. A/B-тестування Один флаг - різні варіанти інтерфейсу для різних користувачів.
  3. Швидке відключення проблемних функцій Якщо нова фіча спричиняє баги, її можна миттєво вимкнути без відкату релізу.
  4. Гнучкість релізів Розробка і деплой розділяються: код може бути в продакшні, але "спати", доки флаг не увімкнено.

Приклади використання

  • "Темна тема" вмикається лише для внутрішніх тестувальників.
  • Новий алгоритм рекомендацій увімкнено у 20% користувачів.
  • Після релізу невдалу функцію вимикають одним кліком.

Висновок

Feature flag - це "тумблер" усередині продукту, який дає змогу керувати функціональністю без нових релізів і ризиків. Він робить систему гнучкішою, безпечнішою і придатнішою для безперервної поставки (Continuous Delivery).

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.