Plugins

Code Insights

Code Insights

Resumo

Analisador de qualidade de código no estilo SonarQube/CodeClimate: visualização de AST, mapa de dependências entre arquivos e funções, análise de complexidade ciclomática, diff estrutural inteligente, formatador multilíngue e biblioteca de snippets com coleções e templates. Útil para squads que querem medir, refatorar e padronizar código antes de subir para produção.

Para quem é

  • Devs e tech leads que querem medir qualidade de código continuamente
  • Squads que precisam reduzir dívida técnica e refatorar com segurança
  • Empresas que organizam bibliotecas de snippets e boas práticas
  • Auditores de código em processos de due diligence

O que você pode fazer

Análise de código

  • Analyze: análise completa de um arquivo ou projeto (tab analyze, CodeAnalysisService).
  • AST Analysis: inspeção da árvore sintática para entender estrutura e padrões (tab ast-analysis, AdvancedAstService).
  • Code Graph: grafo interativo com dependências entre arquivos, classes e funções (tab code-graph, CodeGraphService).
  • Complexity: métricas de complexidade ciclomática e cognitiva (tab complexity).
  • Code Review: revisão estruturada com sugestões pelo CodeReviewService.

Comparação e formatação

  • Diff: comparação com destaque de mudanças estruturais, não só textuais (tab diff).
  • Format: formatação automática com regras configuráveis (tab format).

Biblioteca de snippets

  • Snippets: organize trechos de código reutilizáveis (tab snippets).
  • Collections: agrupe snippets por projeto/linguagem/tag (tab collections).
  • Templates: pontos de partida para novos arquivos/componentes (tab templates).

Observabilidade

  • Analytics: evolução da qualidade, complexidade e cobertura ao longo do tempo (tab analytics).
  • PublicController: páginas públicas para exibir snippets/relatórios.

Como começar

  1. Vá em Dashboard > Code Insights > Analyze.
  2. Cole ou envie um arquivo de código.
  3. Explore a AST e o Code Graph gerados.
  4. Veja métricas em Complexity.
  5. Salve trechos úteis em Snippets.

Tutoriais

Tutorial 1: Analisar um arquivo e ver AST

Objetivo: entender a estrutura real. Passos:

  1. Aba Analyze > Enviar arquivo.
  2. Após processar, abra AST Analysis.
  3. Navegue pela árvore e inspecione nós.

Tutorial 2: Mapear dependências de um projeto

Objetivo: visualizar acoplamento. Passos:

  1. Envie os arquivos.
  2. Abra Code Graph.
  3. Filtre por pacote/namespace.
  4. Identifique gargalos e círculos de dependência.

Tutorial 3: Reduzir complexidade de uma função

Objetivo: refatorar com critério. Passos:

  1. Aba Complexity.
  2. Ordene funções por ciclomática descendente.
  3. Abra a função top e veja o AST.
  4. Refatore e rode nova análise para comparar.

Tutorial 4: Organizar uma biblioteca de snippets

Objetivo: padronizar o time. Passos:

  1. Aba Collections > Nova coleção (ex.: "React hooks").
  2. Adicione snippets com tags.
  3. Configure permissões de acesso.
  4. Compartilhe o link público se desejado.

Tutorial 5: Comparar versões com diff estrutural

Objetivo: entender o impacto real. Passos:

  1. Aba Diff.
  2. Cole as duas versões.
  3. O diff aponta mudanças estruturais (funções adicionadas, assinaturas alteradas), não apenas texto.

Integrações com outros plugins

  • Files: arquivos de código podem ser analisados diretamente a partir da biblioteca.
  • AI-Agents: um agente pode ler o AST e sugerir refatorações.
  • Knowledge-Base: snippets e templates alimentam a base corporativa.
  • DocumentInsights: compartilham pipeline de extração estruturada.

Perguntas frequentes

Quais linguagens são suportadas? O AdvancedAstService suporta as principais linguagens (ver lista na aba Analyze). Novas linguagens são adicionadas conforme demanda.

O Code Insights conecta com GitHub/GitLab? A versão atual foca em análise de arquivos enviados e trechos. Integração nativa com provedores Git está no roadmap.

Qual a diferença entre complexidade ciclomática e cognitiva? Ciclomática conta caminhos independentes; cognitiva pondera por dificuldade humana de entender (aninhamentos, loops).

Os snippets são privados ou compartilháveis? Você escolhe: privados ao usuário, compartilhados na empresa ou públicos via link.

O Diff funciona em refactors grandes? Sim. Como é estrutural, entende movimentos de função entre arquivos e mudanças de assinatura.

Tem formatador para PHP, JS, Python? Sim, com regras configuráveis por linguagem em Format.

Analytics mostra tendência de qualidade? Sim. Ao rodar análises regularmente, a aba Analytics monta a série temporal de complexidade e outros indicadores.

Posso rodar análise via API? Sim, via ApiController do plugin — consulte a documentação de API.

Glossário

  • AST: Abstract Syntax Tree, representação estrutural do código.
  • Complexidade ciclomática: número de caminhos independentes em uma função.
  • Code Graph: grafo de dependências entre entidades do código.
  • Snippet: trecho de código reutilizável.
  • Diff estrutural: diff que entende a semântica do código, não só texto.

Limitações e avisos

  • Análise de projetos gigantes (milhares de arquivos) pode ser fatiada em lotes.
  • Nem toda linguagem tem suporte a todas as métricas.
  • Code Graph interativo exige navegadores modernos (ES2020+).
  • Formatação de código nunca modifica arquivos originais sem confirmação.

Relacionados

  • Files
  • AI-Agents
  • Automation

Este artigo foi útil?

Perguntas e Respostas

Nenhuma pergunta ainda. Seja o primeiro a perguntar!

Tem uma dúvida sobre este artigo?

CAPTCHA