La recherche et la résolution des bogues dans le code peuvent être frustrantes, en particulier lorsque vous êtes un nouveau développeur. Heureusement, des outils comme GitHub Copilot permettent d'identifier et d'éliminer rapidement les bogues, ce qui vous permet de vous concentrer sur un travail plus créatif et plus intéressant.
Prérequis
Les exemples de cet article supposent que vous utilisez GitHub Copilot pour déboguer un projet Python dans Visual Studio Code (VS Code). Pour suivre les exemples, vous devez :
- Finalisez la configuration de Visual Studio Code avec Copilot en consultant la documentation Visual Studio Code.
-
[Download Python](https://www.python.org/downloads/). - Installez l’extension Python pour Visual Studio Code.
Apprendre à déboguer à l'aide d'exemples
Il y a deux situations principales que vous rencontrerez lorsque vous essaierez d'exécuter un code bogué :
- Votre code s’arrête avant qu’il ne s’exécute, et vous recevez un message d’erreur.
- Votre code s’exécute sans erreur, mais la sortie est différente de ce que vous attendiez.
Heureusement, Copilot peut vous aider à déboguer votre code dans les deux cas. Pour commencer, passez en revue les exemples suivants.
Déboguer une erreur avec GitHub Copilot
Lorsque vous exécutez un code bogué, vous recevez souvent un message d'erreur. Le message vous indique le fichier et la ligne où l’erreur s’est produite et décrit brièvement ce qui s’est passé. Toutefois, les messages d’erreur peuvent être déroutants. Pour bien comprendre et corriger le problème, nous pouvons demander de l'aide à Copilot.
Essayons avec un exemple de référentiel : .
Clonage du référentiel d’exemples
Tout d’abord, nous devons créer une copie locale du référentiel :
- Commencer à cloner le référentiel new2code/debug-with-copilot dans VS Code.
- Choisissez un emplacement pour enregistrer le référentiel sur votre ordinateur, puis cliquez sur Sélectionner comme destination du référentiel.
- Lorsque vous y êtes invité, ouvrez le référentiel.
Exécution du fichier bogué
À présent, nous allons exécuter le fichier . Ce programme simule une bataille de dés entre deux joueurs.
-
Dans VS Code, ouvrez et passez en revue le fichier .
-
Ouvrez la palette de commandes en appuyant sur Ctrl+Shift+P (Windows /Linux) ou Cmd+Shift+P (Mac).
-
Tapez , puis appuyez sur Entrée.
-
Dans l’onglet terminal, collez la commande suivante.
Windows :
Shell py bugged_dice_battle.py
py bugged_dice_battle.pyMac ou Linux :
Shell python bugged_dice_battle.py
python bugged_dice_battle.py -
Appuyez sur la touche Entrée pour exécuter le programme.
Malheureusement, nous obtenons un texte d'erreur dans notre terminal qui se termine par le message suivant :
TypeError : ne peut concaténer qu'une chaîne de caractères (str) à une autre chaîne de caractères, pas à un entier (int)
Débogage du fichier
Pour comprendre ce que signifie cette erreur, ouvrez Chat Copilot dans VS Code, puis collez et envoyez l’invite suivante :
Explain in depth why my code produces the following error and how I can fix it: TypeError: can only concatenate str (not "int") to str
Explain in depth why my code produces the following error and how I can fix it:
TypeError: can only concatenate str (not "int") to str
Copilot indiquera que l’erreur survient parce que nous tentons de concaténer les entiers (espace réservé) et (espace réservé) avec des chaînes, alors que seules des chaînes peuvent être concaténées entre elles.
Il fournira également une version mise à jour de notre code qui corrige le bogue en utilisant la fonction pour convertir les entiers en chaînes avant de les concaténer. Passez à la dernière étape du débogage en appliquant la suggestion de Copilot au fichier.
Diagnostic d'un résultat incorrect avec GitHub Copilot
Parfois, le code en attente s’exécute sans générer d’erreurs, mais la sortie est clairement incorrecte. Dans ce cas, le débogage peut être plus difficile car VS Code ne peut pas vous indiquer l'emplacement ou la description du bogue.
Pour ces bogues « invisibles », Copilot est particulièrement utile. Passons à la pratique avec l’autre fichier de notre référentiel d’exemple : . C'est un programme Python censé calculer une factorielle.
Exécution du fichier bogué
Tout d’abord, exécutons le programme pour observer le résultat incorrect :
-
Ouvrez et passez en revue le fichier .
-
Dans le terminal que vous avez créé précédemment, collez la commande suivante. Windows :
Shell py bugged_factorial_finder.py
py bugged_factorial_finder.pyMac ou Linux :
Shell python bugged_factorial_finder.py
python bugged_factorial_finder.py -
Appuyez sur la touche Entrée pour exécuter le programme.
Malheureusement, le code ne fonctionne pas comme prévu. Nous souhaitons qu’il renvoie (espace réservé), qui correspond à la valeur correcte de 6 factoriel, alors que le résultat obtenu est nettement supérieur.
Débogage du fichier
Pour comprendre ce qui s’est passé, ouvrez Chat Copilot et envoyez le message d'invite suivant :
Why is the output of this code so much higher than expected? Please explain in depth and suggest a solution.
Why is the output of this code so much higher than expected? Please explain in depth and suggest a solution.
Copilot précisera que, puisque nous utilisons l’opérateur (espace réservé), nous procédons en réalité à la multiplication de (espace réservé) par deux. En d'autres termes, nous multiplions par un facteur supplémentaire à chaque itération de la boucle.
Pour corriger cette erreur, Copilot suggérera un code qui supprime l'élément supplémentaire de l'équation, ou qui modifie l'opérateur à . Effectuez cette modification maintenant !
Débogage de votre propre projet
Maintenant que vous vous êtes exercé à déboguer quelques programmes simples avec Copilot, vous pouvez utiliser les mêmes méthodologies pour trouver et corriger les bogues qui se cachent dans votre propre travail.
Par exemple, pour déboguer un message d'erreur généré par votre code, envoyez Copilot l'invite suivante :
Explain in depth why my code produces the following error and how I can fix it: YOUR-ERROR-MESSAGE
Explain in depth why my code produces the following error and how I can fix it:
YOUR-ERROR-MESSAGE
Sinon, si vous déboguez une sortie incorrecte, demandez Copilot pourquoi la sortie est incorrecte et comment vous pouvez la corriger. Pour obtenir les meilleurs résultats, fournissez autant de contexte que possible sur la façon dont la sortie diffère de vos attentes.
Avec ces tactiques, vous êtes parfaitement préparé pour commencer à éradiquer les bogues dans votre projet !
Étapes suivantes
Au fur et à mesure que vous coderez, vous rencontrerez probablement des scénarios de problèmes spécifiques et des erreurs difficiles à déboguer. Pour une liste des problèmes potentiels et des exemples de prompts Chat Copilot pour les corriger, consultez AUTOTITLE.