DEV Community

Bibi @debugadora
Bibi @debugadora

Posted on

2 1 1 1 1

Feature Toggle ou Feature Flag

Esses são dois nomes diferentes para a mesma prática, semelhante a um interruptor de luz. Quando ligado, uma funcionalidade está ativa; quando desligado, está inativa. Essa é uma boa técnica para testar novas funcionalidades em um ambiente de produção em tempo real.

Não se trata apenas de ocultar códigos ainda inacabados; é uma maneira de alterar o comportamento do sistema e testar novas soluções sem mexer na base de código ou na infraestrutura do projeto.

Um exemplo clássico: quando uma rede social atualiza sua interface, os usuários têm a opção de "Ativar" o novo visual ou continuar com o antigo. Tecnicamente, isso é facilitado por um feature toggle. Os usuários simplesmente ativam ou desativam esse botãozinho chamado Feature Toggle/Flag, de acordo com o que querem.

Essa abordagem se adequa perfeitamente a testes A/B e experimentos, permitindo coletar dados e métricas para determinar qual a abordagem mais eficaz.

No entanto, deve ser usado com moderação. Ter um plano de usabilidade para os Feature Toggles é crucial. Às vezes, os toggles podem não ser a melhor opção, especialmente se for mais caro implementar um toggle do que simplesmente apagar o código antigo e escrever um novo. E, se sua aplicação se integra a serviços externos, é necessário mapear cuidadosamente os toggles para evitar confusão.

Costuma-se dizer que Feature Toggles são débitos técnicos disfarçados, então é essencial planejar o seu fim junto com sua criação. Bons Feature Toggles têm data de validade: se a solução for eficaz, ela permanece; caso contrário, é descartada.
Boas práticas recomendam ter um número limitado de toggles ativos em produção para simplificar a manutenção do código e garantir a sanidade da equipe.

O uso dos ou das Feature Toggles deve ser muito bem analisado, afinal, essa é a nossa missão como profissionais: resolver problemas e implementar soluções eficazes.

No mundo da programação Ruby, ferramentas como a gem Flipper simplificam o gerenciamento de toggles. Se conhecer melhores alternativas, sinta-se à vontade para compartilhar!

Para outras tecnologias, é essencial pesquisar as melhores ferramentas para usar Feature Toggles, O BOM USO ESTÁ LIGADO A BOA FERRAMENTA, aqui estão alguns exemplos:

  • React/JavaScript: a biblioteca react-feature-toggle.
  • Java: a biblioteca Togglz.
  • Flutter: o package feature_flags.
  • Pytho: a biblioteca toggler.

Se souber de outras ferramentas, compartilha aí!

Lembre-se, embora Feature Toggles sejam uma boa prática, USE COM MODERAÇÃO!

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay