Cognitive Complexity
Esforço mental necessário para entender algo
Mede o quão difícil é entender um pedaço de código ou sistema.
Explicando como se você tivesse 5 anos
Agora sim! 🎉
Imagina que você está montando um quebra-cabeça. Alguns quebra-cabeças são fáceis de entender só de olhar, outros precisam que você pense muito. Cognitive Complexity mede o quanto você precisa pensar para entender um código.
Por que isso é uma Red Flag?
Atenção ao problema! ⚡
Alta complexidade cognitiva indica que o código é difícil de entender, aumentando o risco de bugs durante manutenção. Isso aponta para necessidade de refatoração, simplificação da lógica, ou quebra em funções menores. Código difícil de entender é código difícil de manter e evoluir.
Para que serve
Avaliar o quão difícil é para um humano entender um pedaço de código, ajudando a identificar áreas que precisam de refatoração.
Explicação Detalhada
Cognitive Complexity é uma métrica moderna que avalia o quão difícil é para um humano entender um pedaço de código. Diferente da Complexidade Ciclomática que conta todos os caminhos possíveis, a Cognitive Complexity ignora estruturas que são naturalmente fáceis de entender (como sequências simples) e penaliza mais pesadamente estruturas confusas (como ifs aninhados). A métrica aumenta quando há: breaks no fluxo linear, estruturas aninhadas, e recursão.
História
Criada pela SonarSource para melhorar a medição de complexidade de código, focando no esforço cognitivo real necessário para entender o código, ao invés de apenas contar caminhos como a complexidade ciclomática. G. Ann Campbell percebeu que nem todas as estruturas de código são igualmente difíceis de entender.
Quem Inventou
G. Ann Campbell
Ano: 2016
Compartilhar
Explicando como se você tivesse 5 anos
Agora sim! 🎉
Imagina que você está montando um quebra-cabeça. Alguns quebra-cabeças são fáceis de entender só de olhar, outros precisam que você pense muito. Cognitive Complexity mede o quanto você precisa pensar para entender um código.
Por que isso é uma Red Flag?
Atenção ao problema! ⚡
Alta complexidade cognitiva indica que o código é difícil de entender, aumentando o risco de bugs durante manutenção. Isso aponta para necessidade de refatoração, simplificação da lógica, ou quebra em funções menores. Código difícil de entender é código difícil de manter e evoluir.
História
Criada pela SonarSource para melhorar a medição de complexidade de código, focando no esforço cognitivo real necessário para entender o código, ao invés de apenas contar caminhos como a complexidade ciclomática. G. Ann Campbell percebeu que nem todas as estruturas de código são igualmente difíceis de entender.
Quem Inventou
G. Ann Campbell
Ano: 2016
Para que serve
Avaliar o quão difícil é para um humano entender um pedaço de código, ajudando a identificar áreas que precisam de refatoração.
Explicação Detalhada
Cognitive Complexity é uma métrica moderna que avalia o quão difícil é para um humano entender um pedaço de código. Diferente da Complexidade Ciclomática que conta todos os caminhos possíveis, a Cognitive Complexity ignora estruturas que são naturalmente fáceis de entender (como sequências simples) e penaliza mais pesadamente estruturas confusas (como ifs aninhados). A métrica aumenta quando há: breaks no fluxo linear, estruturas aninhadas, e recursão.
Vídeos no YouTube
Fontes e Referências
Quer se aprofundar? Confira essas fontes oficiais: