tgoop.com/web_overflow/1511
Create:
Last Update:
Last Update:
Feature Flags 🚩
На моєму поточному проєкті активно використовують Feature Flags (FF). Раніше я чув про них, але ніколи не працював із ними безпосередньо.
Що це таке? Це просто змінна, яка вказує, чи доступний певний шматок функціоналу конкретному користувачу. Виглядати це може приблизно так:
const isPokemonCardEnabled = checkIfPokemonCardEnabledForUser(currentUser);
// ...
return isPokemonCardEnabled ? <PokemonCard /> : null;
Що це взагалі дає? Можна не боятися викочувати нові фічі, адже якщо щось зламається - просто вимикаєш FF, користувачі щасливі (хоч і без нової фічі 🥲), а у розробників є час спокійно все пофіксити.
Хоч існують сервіси, які надають функціонал для FF, на моєму проєкті такі не використовуються: усі конфігурації зберігаються в базі, а є міні-адмінка, яка дозволяє вмикати/вимикати їх окремим організаціям або клієнтам. А в Насті все по-крутому - у них використовується ажурівський сервіс для керування feature flags.
Яка взагалі думка щодо них? Це класний спосіб інкрементно додавати новий функціонал у систему. Головне - вчасно підчищати старі FF, бо можна доволі швидко наплодити довгий список. Ну і, здається, найзручніше все ж робити це як у Насті - через готовий сервіс, а не писати все з нуля.
#experience
BY Web Overflow 🇺🇦
Share with your friend now:
tgoop.com/web_overflow/1511
