Skip to main content

Qualidade do Código do GitHub

GitHub Code Quality identifica problemas de qualidade antes da mesclagem, oferece correções em linha com um clique, potencializadas por Copilot, e verifica sua cobertura de código.

Quem pode usar esse recurso?

GitHub Team ou GitHub Enterprise Cloud

GitHub Code Quality analisa seu código em busca de problemas de qualidade e cobertura e oferece correções com tecnologia Copilot que você pode aplicar com um clique. É executado em dois lugares:

  • Em solicitações pull, as descobertas aparecem como comentários embutidos antes que o código seja mesclado. Se você carregar um relatório de cobertura XML de Cobertura, as métricas de cobertura mostrarão se uma alteração mantém ou reduz a cobertura. Você pode aplicar limites mínimos de qualidade e cobertura usando conjuntos de regras para bloquear pull requests que não atendam aos seus critérios, evitando o acúmulo de nova dívida de qualidade.
  • Na branch padrão, as verificações identificam a dívida de qualidade existente em sua base de código, com correções automáticas que você pode aplicar diretamente ou atribuir ao agente de nuvem Copilot para resolvê-la em seu nome.

A detecção combina regras determinísticas CodeQL para antipadrões conhecidos com análise de IA para problemas que estão fora dos conjuntos de regras existentes, incluindo idiomas ainda não cobertos por CodeQL consultas.

Casos de uso

Veja como GitHub Code Quality funciona na prática.

Para desenvolvedores e equipes:

  • Um desenvolvedor abre uma solicitação de pull que introduz um problema de confiabilidade ou de manutenção. Code Quality publica um comentário explicando o problema e oferece uma correção de um clique antes que o código seja mesclado. O desenvolvedor também vê um relatório de métricas de cobertura e pode informar rapidamente se a solicitação de pull melhora ou reduz a cobertura em comparação com o branch padrão.
  • Uma equipe passa a usar assistentes de programação com IA e precisa ter a garantia de que o código gerado atende ao mesmo padrão que o código escrito manualmente. A análise baseada em IA captura problemas para os quais as consultas baseadas em regra não foram gravadas, enquanto CodeQL as regras abrangem antipadrões bem definidos.
  • Uma equipe herda uma grande base de código com anos de dívida de qualidade acumulada. Code Quality analisa o branch padrão, apresenta os resultados com correções automáticas em um painel, e a equipe atribui a agente de nuvem Copilot o trabalho de remediação para abrir pull requests de correção automaticamente.

Para administradores e clientes potenciais:

  • Um líder de engenharia define limites de cobertura e qualidade usando conjuntos de regras. Solicitações de pull que não atendem aos critérios são impedidas de se mesclar, portanto, nenhuma nova dívida de qualidade ou cobertura se acumula.
  • Um administrador precisa de visibilidade entre repositórios para auditorias ou relatórios de conformidade. Os relatórios de Code Quality aparecem na visão geral de segurança, junto com as ferramentas de segurança, para que seja possível ver a postura de qualidade em toda a organização de relance, identificar quais repositórios precisam de atenção e acompanhar as métricas de melhoria usando controles e políticas de auditoria padrão de GitHub.

Disponibilidade e cobrança

Os custos de uso são determinados por:

  • Uma taxa de licença por assento com base em confirmadores ativos.
  • Detecções alimentadas por IA e correções automáticas com tecnologia Copilot, que consomem GitHub AI Credits (não requer licença Copilot).
  • GitHub Actions minutos para varreduras determinísticas CodeQL, se você não usar executores auto-hospedados.

Recursos opcionais, como delegar a Copilot o trabalho de remediação da qualidade do código, exigem uma licença Copilot.

Para obter mais informações, consulte GitHub Code Quality Faturamento.

Idiomas com suporte

Code Quality executa a análise baseada em regras dos seguintes idiomas usando CodeQL:

  • C#
  • Go
  • Java
  • JavaScript
  • Python
  • Ruby
  • TypeScript

Ele também realiza análises com tecnologia de IA em pull requests e no código alterado recentemente em seu repositório, incluindo linguagens além daquelas suportadas por consultas baseadas em regras.

Próximas Etapas