GitHub Code Quality analisa o código em busca de problemas de qualidade e cobertura e oferece correções da plataforma Copilot que você pode aplicar com um clique. Ele é executado em dois lugares:
- Em solicitações de pull, Code Quality usa regras determinísticas CodeQL para detectar descobertas antipadrões e postagens conhecidas 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.
- No branch padrão, verificações baseadas em regras 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 para agente de nuvem Copilot resolver em seu nome. A análise alimentada por IA também é executada em arquivos alterados recentemente, sinalizando problemas que estão fora dos conjuntos de regras existentes, incluindo idiomas ainda não cobertos por CodeQL consultas.
Observação
Em solicitações de pull, Code Quality publica somente descobertas baseadas em CodeQL regras. Se você também quiser revisões de IA de suas solicitações de pull, você poderá habilitar GitHub Copilot revisão de código separadamente. Consulte Sobre a revisão do código do GitHub Copilot.
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 herda uma grande base de código com anos de dívida de qualidade acumulada. Code Quality examina a ramificação padrão, revela os resultados com correções automáticas em um painel, e a equipe atribui o trabalho de correção a agente de nuvem Copilot para abrir automaticamente pull requests de correçã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 alimentada por IA captura problemas em arquivos alterados recentemente para os quais as consultas baseadas em regras não foram gravadas, enquanto CodeQL as regras abrangem antipadrões bem definidos.
Para administradores e clientes potenciais:
- Um líder de engenharia define limites de cobertura e qualidade usando conjuntos de regras. Pull requests que não atendam aos critérios são impedidas de se mesclar, logo, 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. Code Quality gera relatórios por meio da visão geral de segurança com ferramentas de segurança, de maneira que eles possam ver a postura de qualidade em toda a organização de uma só vez, identificar quais repositórios precisam de atenção e acompanhar métricas de melhoria usando controles e políticas de auditoria padrão GitHub.
Disponibilidade e cobrança
Os custos de uso são determinados por:
- Um valor de licença por estação com base em committers ativos.
- Copilot-powered autofixes for findings in pull requests and on the default branch, alongside a AI-powered detections on recently merged code, which consum GitHub AI Credits (no Copilot license required).
- GitHub Actions minutos para exames determinísticos 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
Code Quality também executa a análise da IA no código recentemente alterado do repositório, incluindo idiomas além daqueles compatíveis com consultas baseadas em regras.
Próximas Etapas
- Saiba como corrigir as descobertas de qualidade do código em sua solicitação de pull. Consulte Impedindo que problemas de qualidade de código atinjam seu branch padrão.