Feature toggle, em português alternância de recursos (também chamado de feature switch, feature flag, feature gate, feature flipper, conditional feature etc.) é uma técnica de desenvolvimento de software que tenta fornecer uma alternativa para manter várias ramificações no código-fonte (conhecidos como ramificações de recurso), de forma que um recurso de software possa ser testado antes mesmo de ser concluído e estar pronto para o lançamento. Um alternador de recurso é usado para ocultar, habilitar ou desabilitar o recurso durante o tempo de execução. Por exemplo, durante o processo de desenvolvimento, um desenvolvedor pode habilitar o recurso para teste e desabilitá-lo para outros usuários.[1]

A liberação contínua e a implantação contínua fornecem aos desenvolvedores um feedback rápido sobre seu código. Isso requer a integração de suas alterações de código o mais cedo possível. Ramificações de recursos introduzem um desvio para este processo.[2] A alternância de recursos é uma técnica importante para entrega contínua.

A técnica permite que os desenvolvedores liberem uma versão de um produto que possui recursos inacabados. Esses recursos inacabados são ocultados (alternados) para que não apareçam na interface do usuário. Isso permite que muitas pequenas versões incrementais de software sejam entregues sem o custo de ramificações e mesclagens constantes. Alternâncias de recursos podem permitir ciclos de integração de software mais curtos.[3] Uma equipe trabalhando em um projeto pode usar alternadores de recursos para acelerar o processo de desenvolvimento, que também pode incluir o código incompleto.

Referências


  Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.