Vamos falar sobre um tópico muito importante se você quer ser um grande programador, e isso é
chamado de depuração, você vê que ninguém escreve programas perfeitos, é honestamente impossível.
Sempre vamos cometer erros.
E os programas são constantemente aprimorados.
Melhoramos constantemente nosso código à medida que encontramos mais e mais erros porque os programas estão cheios de erros ou o que
chamamos de bugs ou exceções em tempo de execução.
Quando o código está em execução, você vê que o ato de localizar e remover esses bugs ou erros do nosso código
é chamado de depuração.
E uma grande parte do nosso tempo como programadores está depurando código, seja o nosso próprio código ou o código de outras pessoas
e descobrindo, ei, por que isso não funciona?
E os desenvolvedores seniores são muito, muito bons em depuração.
Então, vamos falar neste vídeo sobre algumas das minhas recomendações para depuração e algumas
boas práticas.
Agora, lembre-se de que você obtém um código de depuração melhor à medida que codifica mais e mais.
Portanto, a melhor coisa que você pode fazer é apenas continuar praticando, continuar escrevendo código Python.
Então, quais são algumas das minhas dicas?
Bem, primeiro, você definitivamente quer usar algum LINTANG e o que está limitando o que falamos
sobre isso bem quando configuramos nosso ambiente de desenvolvedor, a limitação nos permite detectar enquanto codificamos alguns problemas com nosso
código.
Por exemplo, se eu faço NUM mais quatro aqui e obtenho um sublinhado vermelho e você vê aqui que a torta lasca linta percebe
antes mesmo de eu executar meu código, que, ei, há um número nomeado indefinido.
Portanto, o Lintang nos permite encontrar esses erros antes mesmo de executar nosso código.
E vimos que podemos usar IDs como Pisar, que tem Lanting já embutido, ou usar um texto sublime ou
código de estúdio visual e instalar pacotes e extensões como Pellant para realmente ter LINTANG em nosso código.
Essa é uma ferramenta muito, muito importante.
Em seguida, recomendo sempre usar algum tipo de ID ou.
Ed, porque esses editores e IDs, especialmente aqueles que são específicos para Python, como Pixar, têm todas
essas ferramentas integradas para usarmos, como a formatação automática baseada em Pep 8, lembre-se do guia de
estilo oficial de estilo que a comunidade Python tem?
Ele nos permite detectar erros em nosso código com, digamos, destaque e formatação de nosso código.
Portanto, torna-se fácil para nós detectar qualquer erro antes mesmo de executar o código.
Finalmente, você deseja aprender a ler os erros.
E isso é algo que tento praticar com você à medida que aprendemos Python, por exemplo, se eu
faço para mais, digamos algo sem sentido aqui e eu clico em executar.
Imediatamente, vejo, ei, na linha seis, há um ar no meu arquivo DCPI principal, há um tipo ar e vejo aqui que estou
tentando adicioná-lo e uma string para que possamos ler os erros e entender o que eles querem dizer.
Talvez eu faça algo assim se clicar em correr.
Recebo um erro de sintaxe.
E um erro de sintaxe que eu conheço significa que, ei, o interpretador Python está tentando ler meu código, mas o que ela acabou
de escrever não é Python.
Eu não tenho ideia do que você está fazendo.
Aqui eu vejo que é o fim da linha durante a varredura literal de string, então estou tentando ler esta string
e de repente o programa termina como se você fosse terminar a string, lembra?
Portanto, ser capaz de ler esses ares é muito, muito importante, e discutimos alguns deles neste curso, alguns dos
mais comuns, como erro de sintaxe, em que você está apenas escrevendo algo que o
interpretador Python não entende.
Temos algo como erro, certo, onde usamos uma variável que não existe.
Então Python não entende, ei, eu não tenho ideia que nome é qual é o valor de nome?
Temos coisas como tipo air, que é quando combinamos o tipo de dados e fazemos, digamos, uma string mais quatro.
Temos coisas como um valorizador.
Temos coisas como Kierra, onde estamos tentando acessar uma chave que não existe ou erro de atributo,
onde estamos tentando acessar o método do objeto e esse método não existe.
Agora, esses erros são algo que temos visto ao longo do curso e veremos
mais alguns fora disso.
Existem cerca de 15 a 20 erros que são muito comuns e aparecem 90% das vezes.
E se você se lembrar, você sempre pode consultar a documentação do Python para aprender sobre eles, mas isso só
vem com a prática.
Se você vir um erro que nunca viu antes, recomendo ir para a documentação e ler sobre
ele.
Depois de ver, geralmente tende a se lembrar quando surge a seguir.
Mas deixe-me mostrar a você minha maneira favorita de depurar código.
E é chamado de PDB ou Python Debugger, e PDB é um módulo embutido em Python bem aqui.
Novamente, lembre-se de que nosso módulo integrado faz parte da biblioteca padrão com a qual Python vem e PDB
é o depurador Python para interpretadores interativos.
E você pode ler sobre isso aqui, mas deixe-me mostrar o que ele faz.
Veja, o PTB é extremamente útil porque nos permite interagir com o código, então, anteriormente, quando
tínhamos uma função, digamos que temos a função add e temos o número um, o número dois, e então esta função
simplesmente retorna Namwon mais o número dois .
Agora, antes, se quiséssemos, digamos, depurar esse código.
E digamos que estamos adicionando quatro mais alguns rabiscos e isso está nos dando um ar.
A primeira etapa que eu realizaria provavelmente seria adicionar uma impressão aqui para que eu pudesse dizer impressão, ei, o que
está acontecendo?
Deixe-me ver o número um e o número dois e o que isso está me dando.
E imprimir é uma maneira muito, muito rápida e fácil de depurar seu código.
Eu uso o tempo todo, mas o PDB nos dá um impulso extra.
Então, podemos usá-lo assim, simplesmente importamos PDB e em vez de usar algo como uma função
de impressão, podemos simplesmente dizer deixe-me outerspace aqui, podemos simplesmente dizer PDB para depurador Python e, em seguida,
definir, rastrear e rastrear, diria que é o método mais útil que temos neste objeto PDB que o importamos.
Você vê, quando eu executo o método definido.
Ele agora me dá um depurador Python interativo no qual posso digitar comandos aqui e realmente testar meu
código.
E aqui está a parte interessante neste PDB, estou bem dentro da linha oito, então meu código
tentou rodar, mas parou assim que disse PDB, disse Trace.
E agora estou neste mundo e posso testar o que está acontecendo, então posso realmente dizer, ei, Namwon, o que
é?
Bem, o número um é para o número dois?
Bem, o número dois é uma corda.
E eu poderia ficar tipo, oh, estou tentando adicionar uma string e um fim a isso.
Isso não funciona.
Portanto, também posso detectar erros dessa maneira.
Agora, este PDB interativo realmente tem uma tonelada de coisas úteis.
Então, se eu digitar ajuda aqui.
Você vê que tenho comandos que posso usar no PDB, então tenho uma tonelada aqui aos quais tenho acesso, que suponho que
vai me excitar fora deste depurador PDB Python, mas eu também tenho.
Coisas como.
Digamos lista, vamos ver o que a lista faz quando eu digito lista aqui e agora, o site é
realmente.
Não me mostrando muito, mas espero que ainda possa ver a lista.
E acho que algum tipo de saída, vejo que recebo uma lista do meu código e OK, mas digamos que não sei exatamente o
que a lista faz.
Nós vamos.
O PDB nos permite digitar help e listar.
E quando fazemos isso, ele realmente nos fornece a documentação, assim como temos aqui.
Se formos, digamos, lista.
Vamos ver, vamos listar sem lista aqui, ele me dá a documentação bem aqui, então diz a fonte da lista
para o atual.
Direito.
Portanto, ele apenas lista o código-fonte que escrevemos.
OK, pronto.
O que mais está lá?
Bem, também temos algo como Step ou S para abreviar e step é muito, muito legal.
Na verdade, vamos usar Clear para trazer isso para o topo, então direi claro para que ele apague todas as
quebras.
Vamos fazer.
Vamos deixar isso um pouco maior para que você possa ver lá vai, está melhor, certo?
Agora posso fazer algo como Step e Step vai nos permitir ir para a próxima linha.
Então, novamente, se tornarmos isso um pouco maior.
A etapa dirá, ei, vá para a linha nove, então vamos ver o que acontece, vou digitar na etapa.
Ah, e fui apunhalado duas vezes em um passo necessário.
E olhe para isso, eu vou para a próxima linha em meu casaco e isso me pega, ei, você recebe um erro de digitação, o erro que
nós cometemos.
Então, vamos adicionar outra linha aqui.
Digamos que estejamos tentando somar quatro mais cinco aqui ou quatro multiplicar por cinco e
atribuí-lo a uma variável.
Se eu parar isso e executar novamente.
Agora estou aqui dentro.
Se eu digitar T, recebo um nome que T não está definido porque, bem, estou dentro do código aqui na linha oito, mas
ainda temos uma linha nove vermelha.
Então vamos dar um passo.
E agora estou do outro lado.
Então, se eu fizer isso agora, chego perto de 20, incrível, então passo eu posso percorrer o código, o que é muito, muito
útil.
Eu também tenho coisas como continue, o que me permite continuar através do código até retornar algo
e continuar e sair do PDB e olhar para isso.
Eu pego o pronto-socorro.
Vamos executar novamente, outro comando útil é a e A realmente me dá todos os argumentos da função atual
em que estamos.
Então, olhe para isso.
Recebo todos os argumentos, o que, novamente, é muito útil.
Também existe o comando W.
O que me mostra o contexto da linha atual que está executando.
Então você pode ver aqui onde estamos, estamos no anúncio.
Função.
Chamamos com esses argumentos e agora estamos prestes a executar esta linha.
E então, finalmente, enquanto estamos debatendo isso, tudo bem, acho que finalmente vejo que
temos um ar, deveríamos ter dado um número para que eu possa simplesmente sair daqui e simplesmente corrigir isso para cinco.
Agora posso apenas remover meu PDB e tudo deve estar funcionando bem com meu código.
Incrível.
Então PDB é incrível para percorrer seu código e depurar e tentar coisas diferentes, requer um pouco
de prática, mas depois de um dia apenas brincando com PDB, você se tornará muito, muito bom nisso.
Então, após este vídeo, eu recomendo que você escreva PDB e esperançosamente você tem um arquivo Python grande o suficiente.
Eles podem simplesmente passar por cima e experimentar diferentes comandos, usando a ajuda, usando a lista para ver o que
você tem disponível.
Na verdade, quero mostrar uma última coisa, então vamos dizer que voltemos ao nosso código, nosso PDB disse Trace, eu clico
em executar.
Eu poderia fazer algo assim onde eu observo que eu digito e tenho tudo escrito, meu código está funcionando, mas eu poderia mudar
o número dois para agora ser igual a algum jargão?
Bem, vamos ver se eu faço a seguir agora.
E vamos fazer a seguir para executar esta linha final.
Eu chego lá, então também posso mudar variáveis aqui e escrever código Python para talvez testar minhas
funções.
Isso agora está funcionando.
Posso testar, ei, o que acontece se mudarmos essa variável para outro valor?
Novamente, muito, muito útil.