Некоторые проблемы, которые могут возникнуть при использовании feature toggles в процессе разработки:
- Сложность тестирования. habr.com При выходе нового релиза нужно протестировать все входящие функции, а также попробовать включать и выключать их с помощью feature toggles. habr.com Это требует большого количества дополнительного времени, так как желательно проверить всевозможные комбинации флагов. habr.com
- Появление «мёртвого» кода. habr.com Значения многих feature toggles не меняются на протяжении длительных промежутков времени или не меняются вовсе. habr.com Код, написанный для другого значения флага, фактически становится «мёртвым». habr.com
- Неожиданные поломки сайта. habr.com Многие устаревшие feature toggles имеют свойство ломать что-либо при изменении своего значения, так как никто давно не проверял, что они работают. habr.com
- Нарушение обратной совместимости. proxy-c-sharp.herokuapp.com Если код, закрытый переключателем, попадает в несколько релизов с одним и тем же переключателем, то во всех приложениях этих версий он включится. proxy-c-sharp.herokuapp.com Однако в первых версиях функционал был ещё не закончен и имел лишь частичную реализацию. proxy-c-sharp.herokuapp.com
Чтобы решить эти проблемы, рекомендуется создавать подробную документацию с описанием всех feature toggles, а также периодически удалять устаревшие feature toggles и связанный с ними код. habr.com