Estruturas condicionais são sem duvida um dos assuntos mais importantes no âmbito computacional, indiferentemente do nível ou paradigma empregado. Apesar de possuir uma grande responsabilidade no desenvolvimento de aplicações, a utilização de profusas estruturas condicionais pode comprometer a legibilidade do código e aumentar a carga cognitiva do desenvolvedor responsável.
O que é Guard Clause? 🤔
Guard clause ou Early return são termos utilizados ao arquitetarmos uma estrutura sequencial de código condicional, normalmente reconhecido como pré condição.
Comumente podemos construir Guard clauses respeitando 3 padrões:
Processa os parâmetros e retorna caso algum deles não respeite nossa regra de negócio;
Verifica o estado de um objeto e retorna um valor, sujeitado-se ao estado passado;
Elimina casos triviais.
Como desenvolver um Guard Clause? 🧑🏻💻
Imagine um cenário em que estamos construindo uma batalha medieval e nosso guerreiro precisar lutar, porem para lutar nosso guerreiro precisa de determinados requisitos.
const getWarriorStatus = ({status}) => { let responseWarrior; if (status.stamina < 10){ responseWarrior = isExhausted(); } else { if (!status.equipped){ responseWarrior = equip(); } else { if (!status.blessed){ responseWarrior = toBless(); } else{ responseWarrior = battle(); } } } return responseWarrior; }
Olhando o código assim podemos concluir que o mesmo não se torna escalável caso o guerreiro comece a conquistar novo atributos.
const getWarriorStatus = ({status}) => { if (status.stamina < 10){ return isExhausted(); } if (!status.equipped){ return equip(); } if (!status.blessed){ return toBless(); } return battle(); }
Aplicando os conceitos de Guard Clause conseguimos transformar o código outrora obsoleto em um produto agradável e escalável.
Obrigado por me deixar fazer parte do seu tempo! 🥰
Referências:
Top comments (0)