Code Quality
Este artigo fornece definições para as métricas e classificações usadas por Security and quality.
Você pode ver os resultados baseados em regras para o repositório na guia Descobertas padrão, na guia Qualidade do código em "| Metric | Definition | Example findings | |----------------|-----------------|----------------------| | Reliability | Assess whether the code performs its intended function correctly, predictably, and consistently. Reliable code is free from bugs, handles errors safely, and operates as expected under normal and edge-case conditions. | Issues with performance, concurrency, error handling, correctness | | Maintainability | Assess how easy it is to understand, modify, and extend the code over time. Maintainable code follows best practices, avoids unnecessary complexity, and is organized for ease of future changes and collaboration. | Unused/dead code, readability, complexity, conflicting naming, poor separation of concerns |".
Definições de Métrica
A tabela a seguir fornece definições para cada métrica relatada para seu repositório.
| Métrica | Definition | Descobertas de exemplo |
|---|---|---|
| Reliability | Avalie se o código executa a função pretendida corretamente, previsível e consistentemente. O código confiável é livre de bugs (erros), lida com erros com segurança e opera conforme o esperado em condições normais e de limite. | Problemas com desempenho, simultaneidade, tratamento de erros, correção, design de API, acessibilidade, internacionalização ou segurança |
| Facilidade de manutenção | Avalie como é fácil entender, modificar e estender o código ao longo do tempo. O código mantenedível segue as práticas recomendadas, evita a complexidade desnecessária e é organizado para facilitar as alterações futuras e a colaboração. | Não usar práticas recomendadas, código não utilizado/morto, código duplicado, complexidade, redundâncias lógicas, documentação inadequada, problemas de dependência |
Níveis de severidade
Os níveis de gravidade são usados para indicar o impacto potencial ou a urgência de uma descoberta de qualidade de código. Eles ajudam os usuários a priorizar os esforços de correção e comunicar riscos aos stakeholders. A gravidade é determinada pela regra que detectou o problema, seguindo as convenções de CodeQL e padrões do setor.
| Severity | Definition |
|---|---|
| Error | Indica um problema de alta gravidade que provavelmente causará bugs, falhas ou principais riscos de manutenção. |
| Aviso | Indica um problema de gravidade moderada que pode afetar a qualidade ou a confiabilidade do código, mas não é imediatamente crítico. |
| Observação | Indica um problema de baixa gravidade, um pequeno aprimoramento ou uma recomendação. Essas descobertas são úteis para a integridade e a manutenção contínuas do código. |
Definições de classificações
Essas classificações são usadas para resumir a confiabilidade geral e a manutenibilidade de um repositório, avaliadas com base na gravidade dos resultados obtidos a partir de regras encontradas por | Severity | Definition | |-----------|--------------------| | Error | Indicates a high-severity issue that is likely to cause bugs, failures, or major maintainability risks. | | Warning | Indicates a moderate-severity issue that may impact code quality or reliability, but is not immediately critical. | | Note | Indicates a low-severity issue, minor improvement, or recommendation. These findings are useful for ongoing code health and maintainability. | verificações da ramificação padrão completa.
| Rating | Definition | Critérios (com base em descobertas) |
|---|---|---|
| Excelente | O Codebase demonstra as melhores práticas de confiabilidade e manutenção. | Nenhuma descoberta de qualidade de código detectada |
| Boa | A base de código tem problemas de baixa gravidade ou pequenas melhorias são sugeridas. | ≥1 conclusão de nível "Nota" |
| Razoável | O Codebase tem problemas de gravidade moderada que podem afetar a qualidade, mas não são críticos. | ≥1 conclusão de nível "Aviso" |
| Pobre | O Codebase tem problemas de alta gravidade, incluindo bugs ou principais riscos de manutenção. | ≥1 conclusão de nível "Erro" |
Cobertura de código
A cobertura de código mede que porcentagem do seu código-fonte é executada quando sua suíte de testes é executada. O CodeQL exibe uma porcentagem de cobertura em pull requests após o upload de um relatório de cobertura XML do Cobertura.
Como a cobertura é calculada
O percentual de cobertura representa o número de linhas cobertas por testes divididos pelo número total de linhas, expressas como um percentual. O Code Quality armazena o último upload de cada ramificação (incluindo a ramificação padrão) e compara a cobertura da ramificação da PR com a cobertura da ramificação padrão.
Por exemplo, se a ramificação padrão tiver 44% cobertura e sua ramificação de PR tiver 65% cobertura, a PR ganhará 21 pontos percentuais de cobertura.
Delta por arquivo
A divisão por arquivo em solicitações de pull mostra como a cobertura foi alterada para cada arquivo modificado. Um delta positivo significa que o arquivo teve aumento de cobertura na ramificação da PR em comparação com a ramificação padrão.
Para configurar a cobertura de código para seu repositório, consulte Configurando a cobertura de código para seu repositório.