Alguns meses atrás, enfrentei um desafio importante: otimizar o tratamento da lógica de negócios em nosso aplicativo. Meu objetivo era extrair a lógica de negócios do código e passar para analistas. Lidar com várias regras pode resultar facilmente em um código desorganizado com uma infinidade de instruções "if", especialmente se o programador não entende a complexidade ciclomática. Esse código vira uma dor de cabeça para quem trabalha com ele — difícil de escrever, testar e desenvolver.