Descrever a manutenção de alternância de recursos

Concluído

Uma alternância de recurso é apenas código. E para ser mais específico, código condicional. Acrescenta complexidade ao código e aumenta a dívida técnica.

Esteja ciente disso quando você escrevê-los, e limpe quando você não precisa mais deles.

Embora os sinalizadores de recursos possam ser úteis, eles também podem introduzir muitos problemas próprios.

A ideia de um toggle é que ele seja de curta duração e só permaneça no software quando for necessário liberá-lo para os clientes.

Você pode classificar os diferentes tipos de alternância com base em duas dimensões, conforme descrito por Martin Fowler.

Ele afirma que você pode olhar para a dimensão de quanto tempo um toggle deve ser em sua base de código e, do outro lado, quão dinâmico o toggle precisa ser.

Ciclos de vida do sinalizador de recurso de planejamento

A switch in the on position triggers a flag, if this, else that.

A coisa mais importante é lembrar que você precisa remover as alternâncias do software.

Se você não fizer isso, eles se tornarão uma forma de dívida técnica se você mantê-los por muito tempo.

Assim que você introduzir um sinalizador de recurso, você adicionará à sua dívida técnica geral.

Como outras dívidas técnicas, elas são fáceis de adicionar, mas quanto mais tempo fizerem parte do seu código, maior será a dívida técnica, porque você adicionou a lógica de andaime necessária para a ramificação dentro do código.

A complexidade ciclomática do seu código continua aumentando à medida que você adiciona mais sinalizadores de recursos, à medida que o número de caminhos possíveis através do código aumenta.

O uso de sinalizadores de recursos pode tornar seu código menos sólido e também pode adicionar esses problemas:

  • O código é mais difícil de testar eficazmente à medida que o número de combinações lógicas aumenta.
  • O código é mais difícil de manter porque é mais complexo.
  • O código pode até ser menos seguro.
  • Pode ser mais difícil duplicar problemas quando eles são encontrados.

Um plano para gerenciar o ciclo de vida dos sinalizadores de recursos é fundamental. Assim que você adicionar um sinalizador, você precisa planejar quando ele será removido.

Os sinalizadores de recursos não devem ser reaproveitados. Houve falhas de alto perfil porque as equipes decidiram reutilizar uma bandeira antiga que pensavam não fazer mais parte do código para uma nova finalidade.

Ferramentas para gerenciamento de sinalizadores de liberação

A quantidade de esforço necessária para gerenciar sinalizadores de recursos não deve ser subestimada. É essencial considerar o uso de ferramentas que rastreiem:

  • Que bandeiras existem.
  • Quais sinalizadores são habilitados em quais ambientes, situações ou categorias de clientes-alvo.
  • O plano de quando as bandeiras serão usadas na produção.
  • O plano de quando as bandeiras serão removidas.

O uso de um sistema de gerenciamento de sinalizadores de recursos permite que você obtenha os benefícios dos sinalizadores de recursos, minimizando o risco de aumentar sua dívida técnica muito alta.

A Configuração de Aplicativos do Azure oferece um Gerenciador de Recursos. Consulte Azure App Configuration Feature Manager.