Skip to main content

Utilisation responsable de la qualité du code GitHub

Utilisez GitHub Code Quality de manière responsable en comprenant ses objectifs, ses fonctionnalités et ses limitations.

Remarque

          GitHub Code Quality est actuellement dans préversion publique et sujet à modification.

Pendant préversion publique, Code Quality ne sera pas facturé, bien que les analyses Code Quality consomment des minutes GitHub Actions.

À propos de GitHub Code Quality

          GitHub Code Quality aide les utilisateurs à améliorer la fiabilité du code, la facilité de maintenance et l’intégrité globale du projet en fournissant des commentaires exploitables et en offrant des correctifs automatiques pour les résultats des pull requests et sur la branche par défaut.

Lorsque vous activez Code Quality, deux types d’analyse s’exécutent :

  •         **
            CodeQL les requêtes qualité** s’exécutent à l’aide code scanning de l’analyse et identifient les problèmes liés à la maintenance, à la fiabilité ou au style de code. Cela s’exécute sur du code modifié dans toutes les pull requests contre la branche par défaut. Il s’exécute également régulièrement sur la branche par défaut complète.
    
  •         **Une analyse alimentée par les modèles de langage de grande taille (LLM)** fournit des aperçus supplémentaires sur les problèmes de qualité potentiels au-delà de ce qui est couvert par des moteurs déterministes comme CodeQL. Cela s’exécute automatiquement sur les fichiers modifiés dans les push récents vers la branche par défaut. Ces résultats sont affichés dans le tableau de bord de Code Quality**Résultats de l’IA**, sous l’onglet **<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** du référentiel.
    

Lorsqu’un problème de qualité est détecté par l’un ou l’autre type d’analyse, Copilot Autofix suggère un correctif pertinent qui peut être examiné et appliqué par les développeurs.

Pour les pull requests, Code Quality les résultats de github-code-quality sont affichés sous forme de commentaires laissés par le bot github-code-quality, qui inclut une correction automatique suggérée chaque fois que possible.

Analyse basée sur un LLM pour les dernières poussées

Après chaque envoi (push) vers la branche par défaut, le LLM analyse les fichiers récemment modifiés pour la maintenance, la fiabilité et d’autres problèmes de qualité. Code Quality inspecte votre code et fournit des commentaires à l’aide d’une combinaison de traitement du langage naturel et de Machine Learning.

Traitement de l’entrée

Les modifications de code sont combinées avec d’autres informations contextuelles pertinentes pour former une invite et cette invite est envoyée à un modèle de langage volumineux.

Analyse du modèle de langage

L’invite est ensuite transmise via le Copilot modèle de langage, qui est un réseau neuronal formé sur un grand corps de données texte. Le modèle de langage analyse la demande entrée.

Génération de la réponse

Le modèle de langage génère une réponse en fonction de son analyse de la demande entrée. Cette réponse peut prendre la forme de suggestions en langage naturel et de suggestions de code.

Mise en forme de la sortie

La réponse générée par Code Quality est présentée directement à l’utilisateur, en fournissant des commentaires de code liés à des lignes spécifiques de fichiers spécifiques. Lorsque Code Quality vous avez fourni une suggestion de code, la suggestion est présentée sous la forme d’une modification suggérée, qui peut être appliquée en quelques clics.

          GitHub Copilot Autofix Suggestions

Pour les pull requests, les résultats de Code Quality identifiés par l’analyse code scanning envoient les données au LLM. Si le LLM peut générer un correctif potentiel, le bot github-code-quality publie un commentaire avec une modification suggérée directement dans le pull request.

En outre, les utilisateurs peuvent demander la génération de correctifs automatiques pour obtenir des résultats dans la branche par défaut.

Pour plus d’informations sur le processus de génération de suggestions pour GitHub Copilot Autofix, consultez Utilisation responsable de l’Autofix Copilot pour l'analyse de code.

Cas d’usage pour GitHub Code Quality

L’objectif de GitHub Code Quality est de :

  • Problèmes de qualité du code Surface dans votre référentiel, afin que les développeurs et les administrateurs de référentiel puissent rapidement identifier, hiérarchiser et signaler les zones de risque.
  • Accélérez le travail de correction en offrant Copilot Autofix des suggestions pour les résultats trouvés par les analyses de la branche par défaut, ainsi que pour les résultats dans les notifications push récentes vers la branche par défaut.
  • Fournissez rapidement des commentaires actionnables sur le code d’un développeur. Sur les pull requests, Code Quality combine des informations sur les meilleures pratiques avec des détails sur le codebase et les résultats afin de proposer un correctif potentiel au développeur.

Amélioration des performances de GitHub Code Quality

Si vous rencontrez des problèmes ou des limitations avec des correctifs suggérés sur les pull requests, nous vous recommandons de fournir des commentaires en utilisant les boutons pouce levé et pouce baissé sur les github-code-quality commentaires du bot. Cela peut aider GitHub à améliorer l’outil et à résoudre les problèmes ou limitations.

Limitations de GitHub Code Quality

Limitations de l’analyse de Code Quality basée sur un LLM

          Code Qualityl’analyse basée sur LLM utilise le même modèle de langage sous-jacent et le même moteur d’analyse que GitHub Copilot révision du code. Par conséquent, il partage des limitations similaires lors de l’analyse de la qualité du code. Les principales considérations sont les suivantes :
  • Détection incomplète
  • Faux positifs
  • Précision de la suggestion de code
  • Biais potentiels

Pour plus d’informations sur ces limitations, consultez Utilisation responsable de la révision de code avec GitHub Copilot.

Vous devez toujours examiner les résultats exposés par l’analyse basée sur GitHub Code QualityLLM pour vérifier leur précision et leur applicabilité à votre codebase.

Limitations de Copilot Autofix

          Copilot Autofix pour Code Quality les résultats ne seront pas capables de générer un correctif pour chaque résultat dans chaque situation. La fonctionnalité fonctionne sur la base du meilleur effort possible et son succès n’est pas garanti à 100 %.

Lorsque vous passez en revue une suggestion de Copilot Autofix, vous devez toujours prendre en compte les limitations de l'IA et apporter des modifications si nécessaire avant d'accepter les changements. Vous devez toujours examiner et vérifier Copilot Autofix attentivement les suggestions avant de les appliquer.

Pour plus d’informations sur les limitations de Copilot Autofix, la qualité des suggestions et la meilleure façon d’atténuer Copilot Autofix ses limitations, consultez Utilisation responsable de l’Autofix Copilot pour l'analyse de code

Fournir des commentaires

Vous pouvez fournir des commentaires dans la discussion communautaire.

Étapes suivantes

Découvrez comment GitHub Code Quality fonctionne sur votre branche par défaut pour mettre en évidence les problèmes de qualité du code et vous aider à comprendre l’intégrité du code de votre dépôt d'un seul coup d'œil. Consultez Guide de démarrage rapide pour l'évaluation de la qualité du code sur GitHub.