Переключатель функций
-
Переключение функций в разработке ПО
- Переключение функций позволяет включать или отключать функции в коде во время выполнения.
- В agile-настройках функция может быть включена по требованию для разных пользователей.
- Переключение функций упрощает частое использование функций и облегчает внедрение новых стратегий, таких как canary rollout и A/B-тестирование.
-
Непрерывная поставка и интеграция
- Переключение функций поддерживает непрерывную поставку, даже если новые версии не внедряются постоянно.
- Функция может быть интегрирована в основную ветку до завершения и протестирована в тестовой среде.
- Циклы интеграции сокращаются, и можно подготовить версию для запуска в производство.
-
Скрытые функции и дополнительные версии
- Переключение функций позволяет выпускать версии продукта с незавершенными функциями, которые скрыты от пользователей.
- Это упрощает объединение функций в продуктивной ветке и за ее пределами, создавая множество небольших дополнительных версий.
-
Реализация и типы переключателей функций
- Переключатели функций являются переменными, которые управляют работой программного обеспечения.
- Существуют два основных типа переключателей функций: выпуск и бизнес.
-
Использование переключателей функций
- Переключатели функций могут быть использованы для добавления новых функций, улучшения существующих, скрытия или отключения функций, расширения интерфейса.
-
Сохранение переключателей функций
- Переключатели функций могут быть сохранены в базе данных, файле конфигурации или внешнем сервисе.
-
Группы объектов и выпуск канареек
- Группы объектов упрощают управление связанными переключателями функций.
- Выпуск канареек позволяет тестировать функции постепенно и отменять их без негативных последствий.
-
Принятие и использование
- Мартин Фаулер рекомендует использовать переключение функций как последний вариант, а не как основной метод внедрения функций.
- Переключение функций широко используется крупными веб-сайтами и программным обеспечением, включая Google Chrome Canary.