Jak poskromić feature
flags w projekcie
Aleksander Patschek
Aleksander Patschek
🧑‍💻 Senior Frontend Developer w The
Software House
✒️Bloguję na fsgeek.pl
📰 Tworzę newsletter webdevnews.pl
Agenda
Co to są Feature Flags?
Zalety korzystania
Wady i pułapki
Dobre praktyki
Podsumowanie i Q&A
Co to są feature flags?
Flaga
Kod A Kod B
Flaga
Kod A Kod B
Zewnętrzny
serwis
If's as a Service
Zalety flag
Wypuść teraz,
aktywuj potem
https://www.atlassian.com/pl/git/tutorials/comparing-workflows/gitflow-workflow
https://www.optimizely.com/optimization-glossary/trunk-based-development/
synchronizować feature
brancha z main
Konflikty w kodzie
i duże PR
Nowa funkcjonalność jest
zawsze zsynchronizowana
z innymi zmianami
Łatwiejsze zmiany w całej aplikacji
np.: aktualizacja bibliotek
Przycisk bezpieczeństwa
Godziny
Minuty
Warunkowy dostęp
Kiedy możemy potrzebować warunkowego
dostępu?
Zdalna konfiguracja
Canary Deployment
https://www.snapt.net/blog/load-balancing-for-blue-green-rolling-and-canary-deployment
Registration
process
20%
80%
Testy A/B
Problemy jakie mogą
powodować flagi
Uzależniają
Wprowadzają dług
techniczny
Wprowadzają dług
techniczny
(i to spory)
Błędy i ślepe zaułki
Ciężkie do testów
Dobre praktyki
There are only two hard
things in Computer Science:
cache invalidation and
naming things.
hideFeatureA
showFeatureB
nazwa zespołu
środowisko
czas życia
platforma
Opisuj flagi
Nazwa flagi
Odpowiedzialny
zespół
Zadanie
w Jira
Spodziewany
czas życia
Inne notatki
Rób audyt
Czy są dobrze
opisane?
Czy każda
flaga jest obecna?
Czy potrzebujesz
każdą flagę?
Co możesz
usunąć?
Usuwaj
niepotrzebne flagi
Zainwestuj
w logowanie informacji
Naucz się odmawiać
Co warto zapamiętać po
dzisiejszej prezentacji?
Zalety flag
✅ Wypuść teraz, aktywuj później
✅ Przycisk bezpieczeństwa
✅ Dostęp warunkowy
✅ Zdalna konfiguracja
✅ Canary deployments
✅ Testy A/B
Wady flag
❌ Uzależniające
❌ Wprowadzają dług techniczny
❌ Błędy i ślepe zaułki
❌ Ciężkie do testów i debugowania
Dobre praktyki
✅ Zainwestuj w dobre nazwy
✅ Nie używaj hide/disable
✅ Stwórz konwencje do nazywania
✅ Opisuj flagi
✅ Rób regularne audyty
✅ Naucz się odmawiać
Pytania?
@fsgeek
aleksanderpatschek
kontakt@fsgeek.pl
tsh.io/programowanko

Feature flags na ratunek projektu w JavaScript