Skip to main content

Referência de métricas e classificações

Entenda a terminologia usada por GitHub para avaliar a qualidade do código do seu repositório.

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étricaDefinitionDescobertas de exemplo
ReliabilityAvalie 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çãoAvalie 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.

SeverityDefinition
ErrorIndica um problema de alta gravidade que provavelmente causará bugs, falhas ou principais riscos de manutenção.
AvisoIndica um problema de gravidade moderada que pode afetar a qualidade ou a confiabilidade do código, mas não é imediatamente crítico.
ObservaçãoIndica 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.

RatingDefinitionCritérios (com base em descobertas)
ExcelenteO Codebase demonstra as melhores práticas de confiabilidade e manutenção.Nenhuma descoberta de qualidade de código detectada
BoaA base de código tem problemas de baixa gravidade ou pequenas melhorias são sugeridas.≥1 conclusão de nível "Nota"
RazoávelO 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"
PobreO 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.

Leitura adicional