Nota:
GitHub Code Quality está actualmente en versión preliminar pública y sujeto a cambios.
Durante versión preliminar pública, Code Quality no se facturará, aun cuando Code Quality los escaneos consumirán GitHub Actions minutos.
Acerca de GitHub Code Quality
GitHub Code Quality ayuda a los usuarios a mejorar la confiabilidad, la mantenibilidad y la salud general del proyecto al proporcionar comentarios concretos y ofrecer correcciones automáticas para cualquier hallazgo detectado en las solicitudes de incorporación de cambios y en la rama predeterminada.
Al habilitar Code Quality, se ejecutan dos tipos de análisis:
-
** CodeQL Las consultas de calidad** se ejecutan mediante code scanning análisis e identifican problemas con el mantenimiento, la confiabilidad o el estilo del código. Esto se ejecuta sobre el código modificado en todos los pull requests contra la rama predeterminada. También se ejecuta periódicamente en la rama predeterminada completa. -
**El análisis con tecnología de modelo de lenguaje grande (LLM)** proporciona información adicional sobre posibles problemas de calidad más allá de lo que se trata en motores deterministas como CodeQL. Se ejecuta automáticamente en los archivos modificados en las inserciones recientes dentro de la rama predeterminada. Estos resultados se muestran en Code Qualityel panel de **Conclusiones de IA** , en la **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality** pestaña del repositorio.
Cuando se detecta un problema de calidad por cualquier tipo de análisis, Autofijo de Copilot sugiere una corrección pertinente que los desarrolladores pueden revisar y aplicar.
En las solicitudes de incorporación de cambios, Code Quality los resultados se muestran como comentarios dejados por el bot de github-code-quality, que incluye una solución automática sugerida cuando sea posible.
Análisis con tecnología de LLM para inserciones recientes
Después de cada inserción en la rama predeterminada, el LLM analiza la capacidad de mantenimiento, la fiabilidad y otros problemas de calidad de los archivos modificados recientemente. Code Quality inspecciona el código y proporciona comentarios mediante una combinación de procesamiento de lenguaje natural y aprendizaje automático.
Procesamiento de entradas
Los cambios de código se combinan con otra información contextual relevante para formar un mensaje y ese mensaje se envía a un modelo de lenguaje grande.
Análisis del modelo de lenguaje
A continuación, el mensaje se pasa a través del Copilot modelo de lenguaje, que es una red neuronal que se ha entrenado en un gran cuerpo de datos de texto. El modelo de lenguaje analiza la solicitud de entrada.
Generación de respuesta
El modelo de lenguaje genera una respuesta basada en su análisis de la solicitud de entrada. Esta respuesta puede adoptar la forma de sugerencias en lenguaje natural y sugerencias de código.
Formato de salida
La respuesta generada por Code Quality se presenta directamente al usuario, proporcionando comentarios de código vinculados a líneas específicas de archivos específicos. Cuando Code Quality ha proporcionado una sugerencia de código, la sugerencia se presenta como un cambio sugerido, que se puede aplicar con un par de clics.
GitHub Copilot Corrección automática sugerencias
En las solicitudes de incorporación de cambios, los resultados que el análisis code scanning encuentra envían la información de entrada al LLM. Si el LLM puede generar una posible corrección, el github-code-quality bot publica un comentario con un cambio sugerido directamente en el pull request.
Además, los usuarios pueden solicitar la generación de correcciones automáticas para los resultados en la rama predeterminada.
Para obtener más información sobre el proceso de generación de sugerencias para GitHub Copilot Corrección automática, vea Uso responsable de Copilot Autofix para el análisis de código.
Caso de uso para GitHub Code Quality
El objetivo de GitHub Code Quality es:
- Identifique los problemas de calidad del código en todo su repositorio, para que los desarrolladores y administradores del repositorio puedan identificar, priorizar e informar rápidamente sobre las áreas de riesgo.
- Acelere el trabajo de corrección al ofrecer Autofijo de Copilot sugerencias para los resultados encontrados por análisis de la rama predeterminada, así como para los hallazgos en las inserciones recientes en la rama predeterminada.
- Proporcione rápidamente comentarios accionables sobre el código de un desarrollador. En las solicitudes de incorporación de cambios, Code Quality combina información sobre los procedimientos recomendados con detalles del código base y los resultados para sugerir una posible corrección para el desarrollador.
Mejora del rendimiento de GitHub Code Quality
Si encuentra algún problema o limitaciones con correcciones sugeridas en las solicitudes de incorporación de cambios, le recomendamos que proporcione comentarios mediante los botones de pulgar arriba y pulgar abajo en los comentarios del bot de github-code-quality. Esto puede ayudar GitHub a mejorar la herramienta y abordar cualquier problema o limitaciones.
Limitaciones de GitHub Code Quality
Limitaciones del Code Qualityanálisis con tecnología LLM
Code QualityEl análisis potenciado por LLM utiliza el mismo modelo de lenguaje subyacente y motor de análisis que revisión de código GitHub Copilot. Por lo tanto, comparte limitaciones similares al analizar la calidad del código. Entre las consideraciones clave se incluyen:
- Detección incompleta
- Falsos positivos
- Precisión de la sugerencia de código
- Sesgos posibles
Para obtener información detallada sobre estas limitaciones, consulte Uso responsable de la revisión de código de GitHub Copilot.
Siempre debe revisar los resultados expuestos por GitHub Code Qualityel análisis con tecnología LLM para comprobar su precisión y aplicabilidad al código base.
Limitaciones de Autofijo de Copilot
Autofijo de Copilot para Code Quality los resultados no podrá generar una corrección para cada hallazgo en cada situación. La característica funciona según el mejor esfuerzo y no se garantiza que se realice correctamente el 100 % del tiempo.
Al revisar una sugerencia de Autofijo de Copilot, siempre debe tener en cuenta las limitaciones de la inteligencia artificial y editar los cambios según sea necesario antes de aceptar los cambios. Siempre debe revisar y comprobar Autofijo de Copilot cuidadosamente las sugerencias antes de aplicarlas.
Para obtener más información sobre las limitaciones de Autofijo de Copilot, la calidad de las sugerencias y la mejor manera de Autofijo de Copilot mitigar sus limitaciones, consulte Uso responsable de Copilot Autofix para el análisis de código.
Proporcionar comentarios
Puedes proporcionar comentarios sobre GitHub Code Quality en la discusión de comunidad.
Pasos siguientes
Vea cómo GitHub Code Quality funciona en la rama predeterminada para exponer problemas de calidad del código y ayudarle a comprender el estado del código del repositorio de un vistazo. Consulta Inicio rápido para la calidad del código en GitHub.