Encontrar y corregir errores en el código puede ser frustrante, especialmente si acabas de empezar como desarrollador. Afortunadamente, herramientas como GitHub Copilot pueden identificar y aplastar rápidamente los errores, lo que le permite centrarse en un trabajo más creativo e interesante.
Requisitos previos
En los ejemplos de este artículo se supone que usa GitHub Copilot para depurar un proyecto de Python en Visual Studio Code (VS Code). Para seguir los ejemplos, debes:
- Complete Set up with (Configurar con Visual Studio CodeCopilot ) en la Visual Studio Code documentación.
- Descargue Python.
- Instale la extensión Python para Visual Studio Code.
Aprender a depurar a través de ejemplos
Hay dos situaciones principales que encontrarás al intentar ejecutar código con errores:
- El código se cierra antes de que termine de ejecutarse y recibirás un mensaje de error.
- El código se ejecuta sin errores, pero la salida es diferente de la esperada.
Afortunadamente, Copilot puede ayudar a depurar el código en ambas situaciones. Para obtener información sobre cómo hacerlo, consulta los ejemplos siguientes.
Depuración de un error con GitHub Copilot
Al ejecutar código con errores, a menudo recibirás un mensaje de error. El mensaje te indica el archivo y la línea donde se produjo el error y describe brevemente lo que salió mal. Sin embargo, los mensajes de error pueden resultar confusos. Para comprender y corregir completamente el error, podemos pedir Copilot ayuda.
Vamos a probar esto con un repositorio de ejemplo: new2code/debug-with-copilot.
Clonación del repositorio de ejemplos
En primer lugar, es necesario crear una copia local del repositorio:
- Empiece a clonar el repositorio new2code/debug-with-copilot en VS Code.
- Elige una ubicación para guardar el repositorio en el equipo y, a continuación, haz clic en Seleccionar como destino del repositorio.
- Cuando se te solicite, abre el repositorio.
Ejecución del archivo con errores
Ahora, vamos a ejecutar el archivo bugged_dice_battle.py. Este programa simula una batalla de dados entre dos jugadores.
-
En VS Code, abra y revise el
bugged_dice_battle.pyarchivo. -
Abra la paleta de comandos presionando Ctrl+Shift+P (Windows o Cmd+Shift+P (Mac).
-
Escriba
Terminal: Create New Terminaly presione Entrar. -
En la pestaña del terminal, pega el siguiente comando.
Windows:
Shell py bugged_dice_battle.py
py bugged_dice_battle.pyMac o Linux:
Shell python bugged_dice_battle.py
python bugged_dice_battle.py -
Presiona Entrar para ejecutar el programa.
Desafortunadamente, obtenemos un texto de error en nuestro terminal que termina con el siguiente mensaje:
TypeError: solo puede concatenar str (no "int") a str
Depuración del archivo
Para comprender lo que significa este error, abra Chat de Copiloto en VS Codey pegue y envíe el siguiente símbolo del sistema:
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 responderá a que se produce el error porque estamos intentando concatenar los enteros die_1 y die_2 las cadenas, y solo se pueden concatenar cadenas a cadenas.
También proporcionará una versión actualizada del código que corrige el error mediante la función str() para convertir los enteros en cadenas antes de concatenarlos. Practique el paso final de depuración aplicando Copilotla sugerencia del archivo.
Depuración de una salida incorrecta con GitHub Copilot
A veces, se ejecuta código con errores sin producir ningún error, pero la salida es claramente incorrecta. En este caso, la depuración puede ser más difícil porque VS Code no puede avisarle la ubicación ni la descripción del error.
Para estos errores "invisibles Copilot ", es especialmente útil. Vamos a obtener cierta experiencia práctica con el otro archivo en nuestro repositorio de ejemplo: bugged_factorial_finder.py. Es un programa de Python que se supone que calcula un factorial.
Ejecución del archivo con errores
En primer lugar, vamos a ejecutar el programa para ver la salida incorrecta:
-
Abre y revisa el archivo
bugged_factorial_finder.py. -
En el terminal que creaste anteriormente, pega el siguiente comando. Windows:
Shell py bugged_factorial_finder.py
py bugged_factorial_finder.pyMac o Linux:
Shell python bugged_factorial_finder.py
python bugged_factorial_finder.py -
Presiona Entrar para ejecutar el programa.
Desafortunadamente, el código no funciona según lo esperado. Queremos que devuelva 720, el valor correcto de 6 factoriales, pero la salida es mucho mayor que esa.
Depuración del archivo
Para comprender lo que salió mal, abra Chat de Copiloto y envíe el siguiente mensaje:
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.
Copilotseñalará que, dado que estamos usando el *= operador , en realidad estamos multiplicando factorial por yfactorial``i . En otras palabras, estamos multiplicando por un factorial extra para cada iteración del bucle.
Para corregir este error, Copilot sugerirá código que quite el extra factorial de la ecuación o que cambie el *= operador a =. ¡Haz ese cambio ahora!
Depuración de tu propio proyecto
Ahora que ha practicado la depuración de algunos programas sencillos con Copilot, puede usar las mismas metodologías para buscar y corregir errores ocultos en su propio trabajo.
Por ejemplo, para depurar un mensaje de error generado por el código, envíe Copilot el siguiente mensaje:
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
De lo contrario, si está depurando una salida incorrecta, pregunte Copilot por qué la salida es incorrecta y cómo puede corregirla. Para obtener los mejores resultados, proporciona tanto contexto como sea posible sobre cómo la salida difiere de tus expectativas.
Con estas tácticas, tienes todo lo necesario para corregir errores en tu proyecto.
Pasos siguientes
A medida que continúes codificando, es probable que encuentres escenarios de problemas y errores específicos que son difíciles de depurar. Para obtener una lista de posibles problemas y indicaciones de ejemplo Chat de Copiloto para corregirlos, consulte Depuración de errores.