Pular para o conteúdo
Tema
Idioma

Documentação do Complexity Analyzers

Análise conservadora para C#

Transforme complexidade em evidência acionável.

Um ecossistema para estimar Big-O, medir estrutura e explicar resultados em builds, automação e ferramentas de IA — sem executar seu código.

Exemplo de diagnóstico C#
Search.cs
foreach (var item in items)
{
    if (otherItems.Contains(item))
    {
        matches.Add(item);
    }
}
BIG1001Busca linear dentro de iteração; custo composto estimado O(n × m).

Complexidade é uma decisão de engenharia, não um palpite.

Métricas diferentes respondem a perguntas diferentes. O portal separa custo assintótico, estrutura de controle, tamanho e evidência inconclusiva para ajudar você a escolher a ação correta.

01

Custo que escala

Identifique loops, chamadas e operações de coleção cujo custo cresce com a entrada.

02

Estrutura que pesa

Acompanhe complexidade ciclomática, cognitiva e profundidade sem confundi-las com Big-O.

03

Limites explícitos

Veja Unknown quando uma conclusão segura não pode ser provada pelo subconjunto suportado.

Três superfícies, um modelo de análise.

Escolha a integração pelo momento em que você precisa da evidência.

Leia o código por mais de uma lente.

O suporte é deliberadamente documentado e cada resultado preserva suas hipóteses.

O(n log n)Big-OCrescimento assintótico suportado
CC = 11CiclomáticaCaminhos estruturais
COG = 17CognitivaCarga de compreensão
UnknownInconclusivoSem hipótese inventada
Depth = 4AninhamentoProfundidade de controle
NLOC = 42TamanhoLinhas, statements e tokens
HalsteadVocabulárioMétricas internas disponíveis
LINQOperaçõesMaterialização e ordenação

Escolha pelo fluxo de trabalho.

Os pacotes são independentes. Você pode adotar um deles ou combinar as três superfícies.

IDE

Use o Analyzer

quando o feedback precisa acompanhar compilação e edição.

CI

Use a CLI

quando você precisa de relatórios, snapshots e gates explícitos.

AGENT

Use o MCP

quando um agente precisa consultar análise e evidências locais.

Da revisão local ao gate de CI.

A CLI retorna códigos de saída estáveis; gates são opt-in e resultados Unknown não viram regressões provadas.

GitHub Actions
dotnet tool restore
mkdir -p artifacts
dotnet complexity-analysis analyze App.slnx \
  --format sarif \
  --max-cyclomatic-complexity 10 \
  --output artifacts/complexity.sarif

Comece com o produto que encontra seu código onde ele já está.

Instale, gere o primeiro resultado e aprofunde-se nos modelos, contratos e limites técnicos.