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!

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Explore a sea of insights with this enlightening post, highly esteemed within the nurturing DEV Community. Coders of all stripes are invited to participate and contribute to our shared knowledge.

Expressing gratitude with a simple "thank you" can make a big impact. Leave your thanks in the comments!

On DEV, exchanging ideas smooths our way and strengthens our community bonds. Found this useful? A quick note of thanks to the author can mean a lot.

Okay