Skip to main content

Accélérer les pull requests dans votre entreprise avec GitHub Copilot

Comprendre les fonctionnalités, permettre aux développeurs et mesurer l'impact de Copilot.

Qui peut utiliser cette fonctionnalité ?

GitHub Copilot Business or GitHub Copilot Enterprise

Le guide est inspiré par Playbook pour la réussite des systèmes d'ingénierie (ESSP) de GitHub, qui recommande des stratégies et des indicateurs pour améliorer les systèmes d'ingénierie.

Si vous démarrez un déploiement de Copilot, nous vous recommandons de définir vos objectifs, de planifier votre déploiement en conséquence et de communiquer clairement les objectifs au personnel. Consultez Atteindre les objectifs d’ingénierie de votre entreprise avec GitHub Copilot.

1. Identifier les obstacles au succès

La première étape recommandée par l’ESSP consiste à développer une compréhension claire des obstacles empêchant les améliorations de votre entreprise. En comprenant votre situation actuelle, vos objectifs futurs et les obstacles qui vous empêchent de progresser, vous pouvez garantir que les changements apportés seront ciblés et efficaces.

Les équipes rencontrent souvent des retards dans la fusion des demandes de tirage en raison de cycles de révision longs. Ces retards découlent souvent des éléments suivants :

  • Modifications de code complexes, difficiles à comprendre
  • Mise en forme incohérente du code qui rend les révisions difficiles
  • Modifications généralement fournies sans le contexte nécessaire
  • Facteurs sociaux qui contribuent à des révisions lentes ou difficiles

De plus, il n'est pas rare que les réviseurs passent à côté de petites erreurs susceptibles d’entraîner des problèmes de production.

Cela entraîne des goulots d’étranglement dans le processus de développement qui ralentissent la livraison globale et détériorent la qualité des fonctionnalités.

2. Évaluez vos options

L’étape suivante consiste à évaluer et à accepter des solutions pour résoudre les obstacles que vous avez identifiés à l’étape 1. Dans ce guide, nous allons nous concentrer sur l’impact que GitHub Copilot peut avoir sur l’objectif que vous avez identifié. Les déploiements réussis d’un nouvel outil nécessitent également des modifications apportées à la culture et aux processus.

Exécuter des essais de nouveaux outils et processus avec des groupes pilotes pour recueillir des commentaires et mesurer la réussite. Pour connaître les ressources et les métriques d’apprentissage à utiliser pendant les essais, consultez 3. Implémentez les modifications et les métriques pour surveiller les sections.

          <a href="https://github.com/enterprise/contact?ref_product=copilot&ref_type=engagement&ref_style=button" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline">
          <span>Contacter les ventes</span><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-link-external" aria-label="link external icon" role="img"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a>

Comment Copilot peut aider

          GitHub Copilot offre une suite de fonctionnalités conçues pour accélérer le processus de révision des demandes de tirage, améliorer la qualité du code et améliorer la collaboration, ce qui aboutit à des temps de fusion plus rapides.

En tirant parti des capacités de Copilot, les équipes peuvent rationaliser leurs flux de travail, réduire les frictions et garantir un code cohérent et de haute qualité.

Génère des résumés complets et utiles sur les demandes de tirage

          Copilot peut générer automatiquement des résumés de pull request clairs et concis, ce qui permet aux développeurs de gagner du temps et de garantir que l'objectif et les modifications de la pull request sont facilement compris par les réviseurs. Cela réduit la probabilité de malentendus et accélère le processus d’examen.

Aide les réviseurs pendant leur processus de révision

          GitHub Copilot constitue un outil particulièrement efficace pour l’évaluation des demandes de tirage.
  •           Copilot permet de clarifier des modifications de code complexes afin que les réviseurs en saisissent plus rapidement la valeur ajoutée.
    
  • Copilot peut fournir des suggestions à l’échelle du référentiel, des améliorations potentielles du code directement dans l’interface de révision des pull requests sur GitHub, ce qui permet aux réviseurs de détecter les problèmes potentiels et d’offrir des commentaires constructifs plus efficacement.
  • Copilot peut aider les réviseurs à rédiger et écrire des commentaires clairs, cohérents et efficaces.

Révisions basées sur les instructions de l’organisation

  • Copilot peut réviser les modifications de code dans votre IDE avant d’ouvrir une pull request, ou être désigné comme réviseur pour une pull request.
  • Avec les règles, vous pouvez configurer Copilot pour analyser systématiquement les pull requests en fonction de critères personnalisés.
  • Avec des instructions personnalisées pour les révisions, Copilot vous pouvez appliquer des normes de codage organisationnels et des bonnes pratiques, signaler automatiquement les violations potentielles et suggérer des correctifs.

Ces fonctionnalités garantissent la cohérence dans le codebase et vous aident à détecter les erreurs au début du processus de développement, ce qui réduit la nécessité de révisions manuelles du code, d'où un gain de temps pour les développeurs et les réviseurs.

Suggère des correctifs de code

À partir d’un commentaire formulé lors de l’examen d’une demande de tirage, Copilot aide les auteurs à implémenter rapidement les ajustements de code requis pour répondre aux observations.

Considérations culturelles

En plus de votre déploiement de GitHub Copilot, résolvez tous les facteurs sociaux ou culturels qui pourraient vous empêcher d’atteindre vos objectifs.

Les exemples suivants sont tirés de la section « Anti-modèles » de l’ESSP.

  • Parfois, les équipes attendent trop longtemps avant la mise en production et doivent alors déployer des lots volumineux de code en une seule fois. Cela peut être motivé par la crainte que des mises en production fréquentes génèrent une déstabilisation, par un manque de maturité du pipeline CI/CD ou par des exigences strictes en matière de conformité.
  • Les développeurs peuvent passer trop de temps à perfectionner le code ou à ajouter des fonctionnalités inutiles. Une culture perfectionniste ou des difficultés à établir des priorités peuvent en être la cause.
  • Les développeurs ont parfois tendance à créer des solutions trop complexes à des problèmes simples. Cela peut être dû à un désir excessif de prévention ou à une pression les incitant à ajouter de la valeur par le biais de la complexité.

3. Mettre en œuvre des changements

Lorsque vous avez identifié la bonne approche pour surmonter vos obstacles, mettez à l’échelle les solutions que vous avez identifiées. Pour un déploiement réussi d’un nouvel outil ou d’un processus, attribuez la propriété à chaque partie du déploiement, communiquez de manière transparente sur vos objectifs, fournissez une formation efficace et mesurez vos résultats.

Cette section fournit des exemples de scénarios, des bonnes pratiques et des ressources pour les développeurs. Utilisez cette section pour planifier des sessions de communication et de formation pour aider les employés à utiliser Copilot d’une manière qui s’aligne sur votre objectif.

Créer des résumés de demandes de tirage utiles

  1. Lorsque vous créez une pull request, cliquez sur l’icône Copilot dans le champ « Ajouter une description », puis cliquez sur Résumé (Summary).
  2.           Copilot examine la demande de tirage et propose une synthèse des modifications sous forme textuelle, accompagnée d’une liste structurée des changements avec les fichiers concernés.
    
  3. Assurez-vous que la description de Copilot vous convient.
  4. Lorsque les réviseurs arriveront à votre demande de tirage, ils auront tout le contexte dont ils ont besoin pour quitter une révision.

Utiliser Copilot en tant qu’assistant de révision

Lorsque vous examinez une pull request en tant que réviseur, vous pouvez utiliser Copilot pour accélérer votre révision.

  1. Utilisez Copilot pour comprendre les modifications dans la pull request.

    • Demandez à Copilot de résumer les modifications apportées à un fichier, ce qui est particulièrement utile pour les différences importantes. Vous pouvez choisir un fichier spécifique dans le diff en cliquant sur le coin supérieur droit du fichier.

      Capture d'écran de l'onglet « fichiers modifiés » d'une demande de tirage. L'option « Demander à Copilot à propos de cette différence » est surlignée en rouge.

    • Pour les modifications dans des lignes spécifiques, mettez en surbrillance les lignes que vous souhaitez mieux comprendre et demander Copilot d’expliquer les modifications à vous. Pour sélectionner un ensemble de lignes, cliquez d'abord sur la ligne la plus haute du diff puis, en maintenant la touche MAJ enfoncée, cliquez sur la ligne la plus basse.

      Capture d'écran de l'onglet « fichiers modifiés » d'une demande de tirage. Une sélection de lignes est mise en surbrillance et une option « Expliquer » s’affiche dans une liste déroulante.

  2.           **Collaborez à la révision de votre PR** avec Copilot. Veillez à joindre les différences de fichiers pertinentes à la conversation avant de soumettre une requête à Copilot.
    
    • Vous pouvez solliciter l’avis de Copilot sur les modifications de la PR en posant la question suivante : Provide your judgement as a PR Reviewer, both for functional and non-functional aspects that these changes bring. Notez comment cette invite demande Copilot de prendre en compte les aspects fonctionnels et non fonctionnels du code.

    • Pour vos propres commentaires de révision de PR, sollicitez un second avis auprès de Copilot : As my peer reviewer on this pull request, give me your feedback on my own review: YOUR-REVIEW-COMMENT. Do you think it's pertinent? Am I missing something?.

  3. Collaborez avec Copilot pour rédiger et améliorer vos commentaires de révision.

    • Après avoir planifié la révision avec Copilot, vous pouvez demander à répertorier les commentaires que vous devez fournir : Make a list of review comments to add to the PR and tell me exactly in which file diff and lines each comment should be added.
    • Vous pouvez également demander Copilot à créer un premier brouillon d’un commentaire de révision que vous avez à l’esprit ou affiner un commentaire avant de le publier : Help me draft review comments as discussed ou Refine this review comment to make it clear, concise, and actionable.

Ajouter Copilot en tant que réviseur

Afin d’accélérer les délais de révision et de fusion des pull requests, utilisez systématiquement les capacités de révision de code de Copilot : d’abord dans l’IDE avant l’ouverture de la demande de tirage, puis directement sur la PR dans GitHub.

L’utilisation Copilot de la révision de code ne remplace pas la nécessité d’une révision du code humain. Toutefois, en suivant les étapes ci-dessus, les humains peuvent effectuer leurs révisions plus rapidement.

  • Les développeurs doivent faire réviser toutes leurs modifications via Copilot la révision de code avant d’ouvrir une pull request.
  • Les administrateurs doivent configurer des ensembles de règles de dépôt ou d’organisation pour qu’ils ajoutent Copilot automatiquement en tant que réviseur sur tout pull request ciblant des branches protégées.
  • Les responsables d’équipe doivent capturer le style et les règles standard de leur équipe et les définir en tant qu’instructions personnalisées pour l’organisation afin de Copilot pouvoir les exploiter dans les révisions.
    • Assurez-vous que vos instructions personnalisées capturent un ensemble minimal de recommandations de style qui améliorent la lisibilité du code. Cela vous aidera pendant le processus de révision des demandes de tirage.
    • Pour limiter les commentaires liés à des questions de style, définissez des recommandations cohérentes dans les instructions de Copilot au niveau du référentiel et de l’organisation. Ainsi, le code généré par Copilot sera conforme à ces instructions.

Obtenir de l’aide pour implémenter des commentaires de révision

Les auteurs de demandes de tirage peuvent traiter plus rapidement les retours de révision en appliquant sans délai les corrections avec l’aide de Copilot.

  • Pour tous les commentaires de révision laissés par Copilot lui-même, validez directement le correctif proposé ou modifiez-le dans Copilot Espace de travail avant de valider.
  • Pour chaque commentaire de révision formulé par des pairs, accédez au diff du fichier concerné et associez-le à une conversation Discussion avec Copilot. Ensuite, copiez le commentaire de révision avec un prompt comme suit : Suggest a fix for this review comment:
  • Si vous utilisez VS Code, demandez GitHub Copilot en mode agent d’implémenter les modifications requises à partir du commentaire de révision.

Bonnes pratiques pour les développeurs

Les développeurs doivent :

  • Effectuez une demande de révision de Copilot dans votre IDE avant le push afin d’identifier et de corriger les problèmes en amont.
  • Utilisez Copilot pour structurer et affiner vos propres commentaires de révision de PR afin d’aider les auteurs à mieux comprendre et résoudre les problèmes.
  • Associez le contexte pertinent du diff, y compris des lignes de code précises, à vos échanges avec Copilot.

Les développeurs ne doivent pas :

  • Appliquez les suggestions de Copilot sans procéder à des tests.
  • Ne comptez que sur Copilot pour les avis.
  • Négliger la lisibilité du code.

Ressources

Mesures à surveiller

Pour évaluer les essais de nouveaux outils et vous assurer que vos déploiements complets offrent des améliorations cohérentes, surveillez les résultats et apportez des ajustements si nécessaire. Nous vous recommandons de prendre en compte les zones clés de la qualité, de la vélocité et du bonheur des développeurs, et la façon dont ces zones se réunissent pour contribuer aux résultats métier.

Voici quelques métriques permettant d’évaluer l'impact de Copilot sur cet objectif spécifique.

  • Satisfaction des développeurs : utilisez des enquêtes auprès des développeurs pour mesurer leur satisfaction vis-à-vis des outils d’ingénierie.
  • Demandes de tirage fusionnées par développeur : vous pouvez utiliser le webhook pull request, en vous assurant que action est closed et que la propriété merged dans l’objet pull request est true.
  • Délai d’exécution des demandes de tirage : mesurez la durée moyenne entre la création et la fusion des demandes de tirage.
  • Taux d’échappement des défauts des demandes de tirage : mesurez le taux de problèmes de déploiement causés par des demandes de tirage mal révisées.
  • Type de commentaire de révision des demandes de tirage : téléchargez les commentaires de révision des demandes de tirage, catégorisez-les à l’aide d’une classification de sujets basée sur l’IA et suivez les commentaires formulés par les réviseurs humains sur la conception, la scalabilité et la stratégie.