Що таке feature flag?
Feature flag (фіча-флаг) - це механізм, що дає змогу вмикати або вимикати певні функції застосунку без зміни коду і без нового релізу. Він дає команді контроль над тим, хто і коли бачить нову функціональність.
Як це працює
-
У коді нова функція обгортається умовою:
pythonif feature_flag("new_ui"): show_new_interface() else: show_old_interface() -
Флаг зберігається в конфігурації (файл, БД, сервіс на кшталт LaunchDarkly, Unleash).
-
Розробники або продукт-менеджери можуть увімкнути фічу вибірково - наприклад, лише для 10% користувачів або конкретної групи.
Навіщо потрібні feature flags
- Безпечне розгортання Нову функцію можна вмикати поступово (rollout), відстежуючи метрики і помилки.
- A/B-тестування Один флаг - різні варіанти інтерфейсу для різних користувачів.
- Швидке відключення проблемних функцій Якщо нова фіча спричиняє баги, її можна миттєво вимкнути без відкату релізу.
- Гнучкість релізів Розробка і деплой розділяються: код може бути в продакшні, але "спати", доки флаг не увімкнено.
Приклади використання
- "Темна тема" вмикається лише для внутрішніх тестувальників.
- Новий алгоритм рекомендацій увімкнено у 20% користувачів.
- Після релізу невдалу функцію вимикають одним кліком.
Висновок
Feature flag - це "тумблер" усередині продукту, який дає змогу керувати функціональністю без нових релізів і ризиків. Він робить систему гнучкішою, безпечнішою і придатнішою для безперервної поставки (Continuous Delivery).
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.