Skip to main content

Como aprender a depurar com o GitHub Copilot

Peça ajuda ao GitHub Copilot para identificar e corrigir erros no seu código.

Localizar e corrigir bugs no código pode ser frustrante, especialmente quando você é um novo desenvolvedor. A boa notícia é que ferramentas como o GitHub Copilot podem identificar e eliminar os bugs rapidamente, permitindo que você se concentre em um trabalho mais criativo e interessante.

Pré-requisitos

Os exemplos deste artigo consideram que você esteja usando o GitHub Copilot para depurar um projeto Python no VS Code (Visual Studio Code). Para seguir os exemplos, você precisa:

Como aprender a depurar por meio de exemplos

Há duas situações principais que você encontrará ao tentar executar um código com bugs:

  • O código é fechado antes de terminar de ser executado e você recebe uma mensagem de erro.
  • O código é executado sem erros, mas a saída é diferente do esperado.

A boa notícia é que o Copilot pode ajudar a depurar seu código em ambas as situações. Para saber como fazer isso, acompanhe os exemplos a seguir.

Como depurar um erro com o GitHub Copilot

Ao executar um código com bugs, você geralmente receberá uma mensagem de erro. A mensagem informa o arquivo e a linha em que o erro ocorreu e descreve brevemente o que deu errado. No entanto, as mensagens de erro podem ser confusas. Para entender por completo e corrigir o bug, podemos pedir ajuda ao Copilot.

Vamos tentar fazer isso com um repositório de exemplo: new2code/debug-with-copilot.

Clonando o repositório de exemplo

Primeiro, precisamos criar uma cópia local do repositório:

  1. Comece clonando o repositório new2code/debug-with-copilot em VS Code.
  2. Escolha um local para salvar o repositório no computador e, em seguida, clique em Selecionar como Destino de Repositório.
  3. Quando for solicitado, abra o repositório.

Executando o arquivo com bug

Agora, vamos executar o arquivo bugged_dice_battle.py. Esse programa simula uma batalha de dados entre dois jogadores.

  1. No VS Code, abra e examine o arquivo bugged_dice_battle.py.

  2. Abra a paleta de comandos pressionando Ctrl+Shift+P (Windows/Linux) ou Cmd+Shift+P (Mac).

  3. Digite Terminal: Create New Terminal e pressione Enter.

  4. Na guia Terminal, cole o seguinte comando.

    Windows:

    Shell
    py bugged_dice_battle.py
    

    Mac ou Linux:

    Shell
    python bugged_dice_battle.py
    
  5. Pressione ENTER para executar o programa.

Recebemos um texto de erro no terminal que termina com a seguinte mensagem:

TypeError: só pode concatenar str (não "int") para str

Depurando o arquivo

Para entender o que esse erro significa, abra o Copilot Chat no VS Code e cole e envie o seguinte prompt:

Text
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

O Copilot responderá que o erro ocorre porque estamos tentando concatenar os inteiros die_1 e die_2 com cadeias de caracteres, e só é possível concatenar cadeias de caracteres com cadeias de caracteres.

Em também fornecerá uma versão atualizada do código que corrige o bug usando a função str() para converter os inteiros em cadeias de caracteres antes de concatená-los. Pratique a etapa final da depuração aplicando a sugestão do Copilot ao arquivo.

Como depurar uma saída incorreta com o GitHub Copilot

Às vezes, o código com bugs é executado sem gerar nenhum erro, mas a saída está claramente incorreta. Nesse caso, a depuração pode ser mais difícil porque o VS Code não pode informar o local ou a descrição do bug.

Para esses bugs “invisíveis”, o Copilot é particularmente útil. Vamos testar na prática com o outro arquivo de nosso repositório de exemplo: bugged_factorial_finder.py. Trata-se de um programa em Python que deve calcular um fatorial.

Executando o arquivo com bug

Primeiro, vamos executar o programa para ver a saída incorreta:

  1. Abra e examine o arquivo bugged_factorial_finder.py.

  2. No terminal criado anteriormente, cole o comando a seguir. Windows:

    Shell
    py bugged_factorial_finder.py
    

    Mac ou Linux:

    Shell
    python bugged_factorial_finder.py
    
  3. Pressione ENTER para executar o programa.

Infelizmente, o código não funciona conforme o esperado. Queremos que ele retorne 720, o valor correto do fatorial de 6, mas a saída é muito maior do que isso.

Depurando o arquivo

Para entender o que deu errado, abra o Copilot Chat e envie o seguinte prompt:

Text
Why is the output of this code so much higher than expected? Please explain in depth and suggest a solution.

O Copilot apontará que, como estamos usando o operador *=, estamos multiplicando factorial por i e por factorial. Em outras palavras, estamos multiplicando-o por um factorial extra para cada iteração do loop.

Para corrigir esse erro, o Copilot vai sugerir um código que remove o factorial extra da equação ou que altera o operador *= para =. Faça essa alteração agora!

Como depurar seu projeto

Agora que você praticou a depuração de alguns programas simples com o Copilot, você pode usar as mesmas metodologias para localizar e corrigir bugs ocultos no seu trabalho.

Por exemplo, para depurar uma mensagem de erro gerada pelo código, envie ao Copilot a seguinte solicitação:

Text
Explain in depth why my code produces the following error and how I can fix it:

YOUR-ERROR-MESSAGE

Caso contrário, se você estiver depurando uma saída incorreta, pergunte ao Copilot por que a saída está incorreta e como corrigi-la. Para ter os melhores resultados, dê o máximo de contexto possível sobre como a saída é diferente das suas expectativas.

Com essas táticas, você tem tudo o que precisa para começar a eliminar os bugs no seu projeto.

Próximas etapas

Conforme você prossegue com a codificação, é provável que encontrará cenários de problemas específicos e erros difíceis de serem depurados. Para ver uma lista de possíveis problemas e exemplos de solicitações do Copilot Chat de como corrigi-los, confira Erros de depuração.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy