DEV Community

Bibi @debugadora
Bibi @debugadora

Posted on

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!

Top comments (0)