Canal Web Overflow 🇺🇦 - @web_overflow - №1511
Feature Flags 🚩На моєму поточному проєкті активно використовують Feature Flags (FF). Раніше я чув про них, але ніколи не працював із ними безпосередньо.Що це таке? Це просто змінна, яка вказує, чи доступний певний шматок функціоналу конкретному користувачу. Виглядати це може приблизно так:const isPokemonCardEnabled = checkIfPokemonCardEnabledForUser(currentUser);// ...return isPokemonCardEnabled ? <PokemonCard /> : null;
Що це взагалі дає? Можна не боятися викочувати нові фічі, адже якщо щось зламається - просто вимикаєш FF, користувачі щасливі (хоч і без нової фічі 🥲), а у розробників є час спокійно все пофіксити.Хоч існують сервіси, які надають функціонал для FF, на моєму проєкті такі не використовуються: усі конфігурації зберігаються в базі, а є міні-адмінка, яка дозволяє вмикати/вимикати їх окремим організаціям або клієнтам. А в Насті все по-крутому - у них використовується ажурівський сервіс для керування feature flags.Яка взагалі думка щодо них? Це класний спосіб інкрементно додавати новий функціонал у систему. Головне - вчасно підчищати старі FF, бо можна доволі швидко наплодити довгий список. Ну і, здається, найзручніше все ж робити це як у Насті - через готовий сервіс, а не писати все з нуля.#experience
3820
25-11-14 09:23