Skip to main content

Aumentar la puntuación de calidad del código de su repositorio

Priorice y resuelva los resultados que suponen el mayor riesgo, aumente la puntuación de calidad del código del repositorio y evite que se acumula la nueva deuda.

¿Quién puede utilizar esta característica?

Usuarios con acceso de escritura

GitHub Team o GitHub Enterprise Cloud

Introducción

En este tutorial, trabajarás con una lista acumulada de hallazgos de Code Quality en tu rama predeterminada, los priorizarás según el riesgo, resolverás los hallazgos de mayor impacto y comunicarás el resultado a las partes interesadas. Aprenderá lo siguiente:

  • Cómo leer el panel y comprender qué significan sus puntuaciones.
  • Cómo priorizar la subsanación y decidir si se debe aplicar una corrección automática, delegarlo a agente en la nube de Copilot o descartar un hallazgo.
  • Cómo comunicar el impacto del trabajo de corrección.
  • Qué medidas adicionales puede tomar para evitar que el trabajo pendiente vuelva a crecer.

Esta es una guía paso a paso, por lo que prioriza la comprensión frente a la rapidez. Para consultar los pasos básicos para generar una corrección automática o descartar un hallazgo, consulte la guía complementaria: Corregir los hallazgos de calidad del código en la lista de tareas pendientes del repositorio.

Antes de comenzar

  • Code Quality está habilitado en un repositorio que posee o mantiene. Consulte Habilitar GitHub Code Quality.
  • Si ha habilitado Code Quality recientemente, espere unos minutos para que se complete el examen inicial CodeQL de la rama predeterminada.

En este tutorial, usaremos un ejemplo en ejecución: un repositorio cuyo panel muestra actualmente puntuaciones de "Confiabilidad: Deficiente" y "Mantenimiento: Justo" para la calidad del código.

Paso 1: Evaluar la puntuación actual

  1. Vaya a la pestaña Security and quality del repositorio.
  2. Haga clic para expandir Calidad del código y, a continuación, haga clic en Conclusiones estándar.

Aquí verá las puntuaciones de confiabilidad y mantenimiento.

Captura de pantalla de las puntuaciones de calidad del código en la vista "Conclusiones estándar" para Code Quality.

Estas puntuaciones se calculan a partir de los resultados de la rama predeterminada:

MétricaDefiniciónResultados de ejemplo
ReliabilityEvalú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
Capacidad de mantenimientoEvalú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.Código sin usar o fallido, legibilidad, complejidad, nomenclatura en conflicto, separación deficiente de problemas

Cada puntuación se determina por la gravedad más alta del hallazgo que aún está presente para esa métrica. Para aumentar una puntuación, debe resolver todos los hallazgos del nivel de gravedad más alto actual.

En nuestro ejemplo, la confiabilidad es "Deficiente" porque todavía hay hallazgos de nivel de error que afectan a la confiabilidad. Las advertencias y las notas conviene abordarlas, pero hasta que no se resuelvan los errores no pueden afectar a la puntuación.

Paso 2: Leer la lista por regla y centrarse en los resultados de mayor impacto

En la Conclusiones estándar vista, los resultados se agrupan por regla. Esto resulta útil para comprender porque una sola regla con muchos hallazgos puede reflejar un hábito de codificación repetido. Una vez que entienda un caso, puede resultarle más fácil comprender las correcciones automáticas propuestas para todos los casos, lo que agiliza la corrección y facilita su revisión en bloque.

Además, busca reglas que completen un nivel de gravedad de una de tus puntuaciones; si resolver una regla elimina el último «Error» que queda y que afecta a la fiabilidad, tu puntuación sube inmediatamente.

En nuestro ejemplo, una regla —«Propiedad sobrescrita»— representa 40 de los 128 hallazgos, y los 40 son de nivel Error. Al eliminarlo, se quitarían todas las incidencias de nivel de error que afectan a la fiabilidad, lo que haría que nuestra puntuación pasara al siguiente tramo.

Paso 3: Resolver los resultados

Una vez que haya elegido una regla, decida cómo controlar cada búsqueda:

AssessmentAcción recomendadaNotas
La constatación es legítima.Haga clic en Generar corrección y abra una solicitud de incorporación de cambios.Al hacer clic en Generar corrección, se consume AI credits. Puede agregar varias correcciones automáticas a la misma rama para agrupar el trabajo de corrección en una sola solicitud de extracción.
El hallazgo no es aplicable. Por ejemplo, se encuentra en código heredado, en un patrón intencional o en un falso positivo.Haga clic en Descartar.El resultado se considera resuelto y quitado de la lista de hallazgos abiertos.

En nuestro ejemplo, generamos correcciones automáticas para los 40 hallazgos de "Propiedad sobrescrita" y abrimos una pull request. Dado que comparten un único patrón, las correcciones son casi idénticas. Fusionamos la pull request cuando se hayan superado las comprobaciones de CI.

Paso 4: Comunicación del impacto

Después de que hayas fusionado la corrección, vuelve a la vista "Conclusiones estándar" y anota:

  • La puntuación que cambió. Por ejemplo, Fiabilidad: Deficiente → Aceptable.
  • Requisito que lo desbloqueó. Por ejemplo, todos los resultados de nivel de error que afectan a la confiabilidad ahora se resuelven.
  • Reducción de los hallazgos abiertos. Por ejemplo, de 128 abierto a 88.

En nuestro ejemplo, al eliminar la regla "Propiedad sobrescrita", la fiabilidad pasa de Deficiente a Aceptable: la primera mejora en la puntuación que el equipo puede señalar.

Cómo se relaciona esto con el resto de la salud de tu código

Cada hallazgo resuelto hoy puede volver a aparecer mañana si las nuevas solicitudes de incorporación de cambios presentan el mismo tipo de problema. Para detener la regeneración del trabajo pendiente:

Troubleshooting

  • Las puntuaciones no cambiaron después de fusionar las correcciones. Al menos un hallazgo del nivel de gravedad más alto actual para esa métrica sigue abierto.
  • El análisis no se ha vuelto a ejecutar. Code Quality los análisis se ejecutan automáticamente después de cada push a la rama predeterminada. Espere unos minutos a que se complete el flujo de trabajo.

Conclusión

En este tutorial, evaluó las puntuaciones de calidad de su repositorio, priorizó los elementos del backlog por gravedad y regla, resolvió las incidencias detectadas mediante correcciones automáticas y comunicó el resultado como una variación de la puntuación.

Pasos siguientes