Cuidado com a complexidade ciclomática

<h3> Por que você deveria se importar? </h3>
Porque isso fará com que você escreva um código sustentável menos sujeito a erros .

<h3> O que é complexidade ciclomática? </h3>
A complexidade ciclomática é uma métrica de código. É um número que corresponde à quantidade total de caminhos de execução em seu código. Este número é por método e é calculado da seguinte forma:

  • comece com 1 como contagem
  • para cada palavra-chave ou operador de ramificação, adicione um para contar

As palavras-chave incluem if, for, while, case (não switch, conte cada palavra-chave que representa um possível ramo de execução).
Os operadores incluem o operador ternário e o operador null-coalescing / elvis se sua linguagem permitir. Os exemplos abaixo demonstram algumas linguagens e um operador de ramificação (cada exemplo adiciona um para contar):

Person person = personArg ?? new Person(); //C#
var person = person || {}; //JavaScript
String name = g?.members?[0]?.name ?: "nobody"; //Java
int max = a >= b ? a : b; //C++

<h3> Como isso pode ajudá-lo? </h3>
Eu mantenho uma contagem de complacência ciclomática em minha mente enquanto autoria o código, e isso torna mais difícil para mim criar um código estúpido .

Sempre que desejo adicionar um novo branch de execução, primeiro exploro outras maneiras de acomodar o requisito (como estender ou anexar a uma instrução if existente ou cuidar do requisito em outro local inteiramente).