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
- Vá em Dashboard > Code Insights > Analyze.
- Cole ou envie um arquivo de código.
- Explore a AST e o Code Graph gerados.
- Veja métricas em Complexity.
- Salve trechos úteis em Snippets.
Tutoriais
Tutorial 1: Analisar um arquivo e ver AST
Objetivo: entender a estrutura real. Passos:
- Aba Analyze > Enviar arquivo.
- Após processar, abra AST Analysis.
- Navegue pela árvore e inspecione nós.
Tutorial 2: Mapear dependências de um projeto
Objetivo: visualizar acoplamento. Passos:
- Envie os arquivos.
- Abra Code Graph.
- Filtre por pacote/namespace.
- Identifique gargalos e círculos de dependência.
Tutorial 3: Reduzir complexidade de uma função
Objetivo: refatorar com critério. Passos:
- Aba Complexity.
- Ordene funções por ciclomática descendente.
- Abra a função top e veja o AST.
- Refatore e rode nova análise para comparar.
Tutorial 4: Organizar uma biblioteca de snippets
Objetivo: padronizar o time. Passos:
- Aba Collections > Nova coleção (ex.: "React hooks").
- Adicione snippets com tags.
- Configure permissões de acesso.
- Compartilhe o link público se desejado.
Tutorial 5: Comparar versões com diff estrutural
Objetivo: entender o impacto real. Passos:
- Aba Diff.
- Cole as duas versões.
- 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!