Refactoriser le code dupliqué à l’aide de l’agent Copilot GitHub

Terminée

Le mode agent est une fonctionnalité de GitHub Copilot qui permet aux développeurs d’effectuer des refactorisations et des modifications de code avec l’aide de l’IA. En mode Agent, Copilot Chat peut suggérer des modifications de code, automatiser des tâches répétitives et fournir des conseils pour améliorer la qualité du code. En utilisant le mode Agent, les développeurs peuvent simplifier leur processus de refactorisation et améliorer la productivité.

Comparer les modes Demander et Agent

Alors que le mode Ask se concentre sur l’analyse du code et la fourniture d’insights, le mode Agent va plus loin en effectuant des tâches qui modifient le code de manière autonome. Les deux modes se complètent et peuvent être utilisés ensemble pour accélérer le développement et améliorer la qualité du code.

Mode Demande (explications) Mode agent (actions)
But: Répondre aux questions, expliquer, conseiller. But: Exécuter des tâches (écrire du code, refactoriser, etc.).
Étendue : utilise le contexte à partir de fichiers ouverts ou de texte fourni. Aucune modification n’a été apportée. Portée: Peut accéder à l’ensemble de l’espace de travail et apporter plusieurs modifications dans les fichiers.
Quand utiliser : Comprendre le code, l’aide rapide et les prototypes. Quand utiliser : Application de modifications répétitives ou à plusieurs étapes, génération de nouveau code, refactorisation.
Risque: Faible (lecture seule). Risque: Plus élevé (apporte des modifications ; doit être validé).

Instructions efficaces pour le mode Agent

Pour tirer le meilleur parti du mode Agent, les développeurs doivent fournir des invites claires et spécifiques. Par exemple : « Extrayez la logique de validation de courrier dupliquée à partir des méthodes UserService.ValidateEmail() et OrderService.ValidateCustomerEmail(). Créez une méthode EmailValidator.IsValidator() partagée dans une nouvelle classe EmailValidator. Refactorisez les méthodes existantes pour utiliser le nouveau validateur. » En fournissant des instructions détaillées, les développeurs peuvent guider le mode Agent pour effectuer les refactorisations souhaitées et obtenir les améliorations souhaitées de la qualité du code.

Voici une liste des meilleures pratiques :

  • Soyez spécifique : spécifiez clairement ce que vous avez besoin de l’agent pour effectuer. Si vous avez une approche spécifique que vous souhaitez que l’agent utilise, décrivez-le. Les tâches avec expressions précises génèrent de meilleurs résultats.

  • Une étape à la fois : GitHub Copilot Agent peut planifier des implémentations multiphases pour les tâches affectées. Toutefois, décomposer les tâches volumineuses et complexes en tâches plus petites et plus faciles à gérer est une meilleure approche. Par exemple, au lieu de demander à l’agent de refactoriser un module entier, vous pouvez lui demander de créer une fonction d’assistance dans une tâche, puis de lui demander de supprimer du code en double et de refactoriser les méthodes d’origine dans une tâche suivante. Les tâches plus petites offrent un meilleur contrôle et aident les développeurs à gérer les modifications de manière incrémentielle.

  • Utilisez des commentaires dans les invites : incluez, si nécessaire, des commentaires dans le code comme // TODO: use OrderHelper here, puis demandez à Copilot d'aider à résoudre ce "TODO". Parfois, l’ancrage des instructions dans le code permet de contextualiser la modification.

  • Surveillez la progression et vérifiez les résultats : surveillez la progression de l’agent dans le panneau de conversation. Si nécessaire, vous pouvez annuler la tâche. Une fois que l’agent a terminé la tâche, utilisez l’éditeur de code pour passer en revue chaque modification individuellement. GitHub Copilot affiche une liste de chaque fichier mis à jour dans le panneau de conversation. Veillez à ouvrir chaque fichier et à passer en revue les mises à jour. Traitez ce processus comme une révision de code. Si quelque chose est désactivé, vous pouvez demander à l’agent de le corriger ou d’apporter les modifications manuellement. Si les résultats ne sont pas ce que vous attendiez, vous pouvez toujours annuler les modifications et réessayer avec une suggestion plus spécifique.

Quand ne pas utiliser le mode Agent

Le mode Agent de GitHub Copilot est un outil puissant qui peut accélérer votre processus de développement. Toutefois, il existe des situations où il est préférable d’effectuer des tâches manuellement. Pour les refactorisations complexes ou les modifications de code critiques, les développeurs peuvent constater qu’ils doivent s’appuyer sur leur propre expertise et jugement. Le mode Agent convient le mieux aux tâches de refactorisation répétitives et simples, où l’automatisation peut gagner du temps et des efforts. Comprendre les limitations du mode Agent aide les développeurs à prendre des décisions éclairées sur le moment où l’utiliser et quand s’appuyer sur leur propre expertise.

Résumé

L’utilisation du mode Agent pour la refactorisation offre plusieurs avantages. Il permet de gagner du temps et d’efforts en automatisant les tâches répétitives, en améliorant la qualité du code en suggérant des bonnes pratiques et en améliorant la productivité en rationalisant le processus de refactorisation. En utilisant le mode Agent, les développeurs peuvent créer du code plus propre et plus facile à gérer et se concentrer sur des tâches de niveau supérieur qui nécessitent leur expertise.