Size: a a a

Software Design/Architecture/Zen

2021 February 12

KA

Kirill Antonov in Software Design/Architecture/Zen
солидно
источник

SP

Sergey Protko in Software Design/Architecture/Zen
у нас вот как по мне "не достаточно хорошо с тестированием" но в целом жить можно.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
главный косяк когда мы фичафлаги вводили - нужен формальный процесс "а когда фичафлаги удаляем".
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
в крон засунуть
источник

SP

Sergey Protko in Software Design/Architecture/Zen
фэйсбук по слухам вообще не удаляет фичатоглы (экономически нецелесообразно) но скорее всего это им позволяет инфраструктура. Для нас выгодно заставлять хотя бы через пол года их удалять
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
weekly
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Dmitriy Tkachenko
в крон засунуть
мы клиентам даем 3 месяца на апрув изменений... потому никак... Но это специфика. Большинство тоглов могут уходить из кода по решению разработчиков. Опять же нужны критерии
источник

AL

Anton Lakotka in Software Design/Architecture/Zen
кстати крутая тема. это держать что-то вроде Dynamic Configuration Service
в котором и хранить все фичафлаги.

ибо можно мгновенно их включать и выключать в проде
источник

В

Виктор in Software Design/Architecture/Zen
код все равно чистить придется)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Anton Lakotka
кстати крутая тема. это держать что-то вроде Dynamic Configuration Service
в котором и хранить все фичафлаги.

ибо можно мгновенно их включать и выключать в проде
ну вот у нас свой велосипед, но если можете взять какой-нибудь flagr (https://github.com/checkr/flagr) или какой-нибудь сервис который хорошо интегрируется в вашу тикет систему - то лучше так
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Виктор
код все равно чистить придется)
это самая простая часть на удивление
источник

SP

Sergey Protko in Software Design/Architecture/Zen
обычные косяки - прилетает баг и уходит время на то что бы определить какие фичафлаги надо врубить. Отслеживание статуса релизов (тут вот сервисы помогают). Отслеживание когда и кто добавил включил тогл для кого и т.д.... аудит какой...
источник

SP

Sergey Protko in Software Design/Architecture/Zen
опять же - наш кейс довольно специфичный. В любом случае если у вас большое количество фича флагов вырисовывается исходя из того как вы фичи пилите, если делать все это через ветки и изоляцию физическую в коде то пиздец будет куда больше
источник

SB

Sergei Beilin in Software Design/Architecture/Zen
Kirill Antonov
А кто-то использует на постоянке фиче флаги? Сколько флагов одновременно? Оверхед кодовый большой? Поддерживается нормально?
В разных проектах по-разному. Где-то десяток, где несколько. Сильно зависит от ещё готовности команды, окружающей среды и прочего. Самое, пожалуй, сложное - координация фича-флагов между компонентами. Если для "фронт+бэк" это ещё как-то решается, то для событийной архитектуры пока я не нашёл красивого решения. Но вообще, в идеале, фича-флаг должен быть независим от всего остального. Но компромиссы, компромиссы.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Есть одна вещь еще - фичафлаги хорошо работают если у вас в команде мантра по утру "обратная совместимость это важно". Но как по мне это просто про хорошие практики
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ну то есть фичафлаги это боль и слезы но это куда лучше чем фичабрэнчи и ебанина с черепиками и подмерджить мастер в девелоп и обратно.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
continious integration в целом не зря придумали (как процесс где мы "постоянно интегрируем изменения в транк, каждый день")
источник

KA

Kirill Antonov in Software Design/Architecture/Zen
Sergei Beilin
В разных проектах по-разному. Где-то десяток, где несколько. Сильно зависит от ещё готовности команды, окружающей среды и прочего. Самое, пожалуй, сложное - координация фича-флагов между компонентами. Если для "фронт+бэк" это ещё как-то решается, то для событийной архитектуры пока я не нашёл красивого решения. Но вообще, в идеале, фича-флаг должен быть независим от всего остального. Но компромиссы, компромиссы.
Кстати, как для фронт-бек решается?
источник

R

Roman in Software Design/Architecture/Zen
Sergey Protko
Есть одна вещь еще - фичафлаги хорошо работают если у вас в команде мантра по утру "обратная совместимость это важно". Но как по мне это просто про хорошие практики
А как вы храните фичафлаги?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Kirill Antonov
Кстати, как для фронт-бек решается?
вопрос непонятен. Подавляющее большинство фичафлагов на клиенте. На бэке чаще аля branch by abstraction юзается а так в целом...
источник