Code Quality
En este artículo se proporcionan definiciones para las métricas y clasificaciones usadas por Security and quality.
Puede ver los resultados basados en reglas para su repositorio en la pestaña Conclusiones estándar, debajo de la pestaña Calidad del código "| 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 |".
Definiciones de métricas
En la tabla siguiente se proporcionan definiciones para cada métrica que se notifica para tu repositorio.
| Métrica | Definición | Resultados de ejemplo |
|---|---|---|
| Reliability | Evalúe si el código realiza su función prevista correctamente, de forma predecible y coherente. El código confiable está libre de errores, controla los errores de forma segura y funciona según lo previsto en condiciones normales y de casos perimetrales. | Problemas con el rendimiento, simultaneidad, control de errores, corrección, diseño de API, accesibilidad, internacionalización o seguridad |
| Mantenimiento | Evalúe lo fácil que es comprender, modificar y ampliar el código a lo largo del tiempo. El código que se puede mantener sigue los procedimientos recomendados, evita la complejidad innecesaria y se organiza para facilitar los cambios futuros y la colaboración. | No usar procedimientos recomendados, código no usado o inactivo, código duplicado, complejidad, redundancia lógica, documentación inadecuada, problemas de dependencia |
Niveles de gravedad
Los niveles de gravedad se usan para indicar el impacto potencial o la urgencia de un hallazgo de calidad de código. Ayudan a los usuarios a priorizar los esfuerzos de corrección y a comunicar riesgos a las partes interesadas. La gravedad viene determinada por la regla que detectó el problema, siguiendo las convenciones de CodeQL y los estándares del sector.
| Severity | Definición |
|---|---|
| Error | Indica un problema de alta gravedad que es probable que cause errores, errores o riesgos de mantenimiento importantes. |
| Advertencia | Indica un problema de gravedad moderada que puede afectar a la calidad o confiabilidad del código, pero no es inmediatamente crítico. |
| Nota | Indica un problema de gravedad baja, una mejora menor o una recomendación. Estos hallazgos son útiles para la salud y el mantenimiento continuos del código. |
Definiciones de clasificaciones
Estas calificaciones se utilizan para resumir la fiabilidad y la mantenibilidad general de un repositorio basándose en la gravedad de los resultados basados en reglas encontrados por los escaneos de | 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. | en la rama predeterminada completa:
| Rating | Definición | Criterios (basados en las conclusiones) |
|---|---|---|
| Excelente | Codebase muestra los procedimientos recomendados para la confiabilidad y el mantenimiento. | No se detectaron resultados de calidad del código |
| Bien | El código base tiene problemas de gravedad baja o se sugieren mejoras menores. | ≥1 Hallazgo de nivel "Nota" ≥1 |
| Bueno: | Codebase tiene problemas de gravedad moderada que pueden afectar a la calidad, pero no son críticos. | ≥1 hallazgo de nivel "Advertencia" |
| Pobres | El código base tiene problemas de alta gravedad, incluidos errores o riesgos de mantenimiento importantes. | ≥1 Hallazgo de nivel "Error" |
Cobertura de código
La cobertura de código mide qué porcentaje de tu código fuente se ejecuta cuando se ejecuta tu conjunto de pruebas. CodeQL muestra un porcentaje de cobertura en las solicitudes de incorporación de cambios después de cargar un informe de cobertura Cobertura XML.
Cómo se calcula la cobertura
El porcentaje de cobertura representa el número de líneas cubiertas por pruebas divididas por el número total de líneas, expresadas como un porcentaje. Code Quality almacena la última carga de cada rama (incluida la rama por defecto) y compara la cobertura de la rama de la PR con la cobertura de la rama por defecto.
Por ejemplo, si la rama por defecto tiene un 44 % de cobertura y la rama de la PR tiene un 65 % de cobertura, la PR ganó 21 puntos porcentuales de cobertura.
Delta por archivo
El desglose por archivo de las solicitudes de incorporación de cambios muestra cómo cambió la cobertura de cada archivo modificado. Un delta positivo significa que el archivo ganó cobertura en la rama de la PR en comparación con la rama predeterminada.
Para configurar la cobertura de código para el repositorio, consulte Configurar la cobertura de código para tu repositorio.