Hablemos de un tema muy importante si quieres ser un gran programador, y eso se
llama depuración, ves que nadie escribe programas perfectos, honestamente es imposible.
Siempre vamos a cometer errores.
Y los programas se mejoran constantemente.
Mejoramos constantemente nuestro código a medida que encontramos más y más errores porque los programas están llenos de errores o lo que
llamamos errores o excepciones en tiempo de ejecución.
Cuando el código se está ejecutando, verá que el acto de encontrar y eliminar estos errores o errores de nuestro código
se llama depuración.
Y una gran parte de nuestro tiempo como programadores es depurar código, ya sea nuestro propio código o el código de otras personas
y averiguar, oye, ¿cómo es que esto no funciona?
Y los desarrolladores senior son realmente buenos depurando errores.
Así que hablemos en este video sobre algunas de mis recomendaciones para la depuración y cuáles son algunas
buenas prácticas.
Ahora, tenga en cuenta que obtiene un mejor código de depuración a medida que codifica más y más.
Así que lo mejor que puede hacer es seguir practicando, seguir escribiendo código Python.
Entonces, ¿cuáles son algunos de mis consejos?
Bueno, primero, definitivamente desea usar algo de LINTANG y lo que está limitando lo que hemos hablado
de él justo cuando configuramos nuestro entorno de desarrollador, la limitación nos permite detectar mientras codificamos algunos problemas con nuestro
código.
Por ejemplo, si hago NUM más cuatro aquí y obtengo un subrayado rojo y ves aquí que el pastel copos linta se da cuenta
antes de que incluso ejecute mi código, eso, oye, hay un número con nombre indefinido.
Entonces Lintang nos permite encontrar estos errores incluso antes de ejecutar nuestro código.
Y vimos que podemos usar ID como Pisar que ya tiene Lanting integrado o usar un texto sublime o
código de estudio visual e instalar paquetes y extensiones como Pellant para tener LINTANG en nuestro código.
Esa es una herramienta realmente importante.
A continuación, recomiendo usar siempre algún tipo de identificación o.
Ed, porque estos editores e ID, especialmente los que son específicos para Python, como Pixar, tienen todas
estas herramientas integradas para que las usemos, como el formateo automático basado en Pep eight, recuerda la guía de
estilo oficial de estilo que la comunidad de Python ¿tiene?
Nos permite detectar errores en nuestro código con, digamos, resaltando y formateando nuestro código.
Por lo tanto, es fácil para nosotros detectar cualquier error incluso antes de ejecutar el código.
Finalmente, desea poder aprender a leer errores.
Y esto es algo que trato de practicar contigo ya que hemos aprendido Python, por ejemplo,
si lo hago por más, digamos galimatías aquí y hago clic en ejecutar.
De inmediato, veo, oye, en la línea seis, hay un aire en mi archivo DCPI principal, hay un tipo de aire y veo aquí que
estoy tratando de agregarlo y una cadena para que podamos leer los errores y entender lo que ellos quieren decir.
Tal vez haga algo como esto si hago clic en ejecutar.
Recibo un error de sintaxis.
Y un error de sintaxis que sé significa que, oye, el intérprete de Python está tratando de leer mi código, pero lo que acaba
de escribir no es Python.
No tengo ni idea de lo que estás haciendo.
Aquí veo que es el final de la línea mientras escaneo la cadena literal, así que estoy tratando de leer esta cadena
y, de repente, el programa termina como se supone que debes terminar la cadena, ¿recuerdas?
Entonces, poder leer estos aires es realmente muy importante, y hemos discutido algunos de ellos en este curso, algunos de
los más comunes como el error de sintaxis, donde simplemente estás escribiendo algo que el intérprete
de Python no comprende.
Tenemos algo así como error, correcto, donde usamos una variable que no existe.
Entonces Python no entiende, oye, no tengo idea de qué nombre es, ¿cuál es el valor del nombre?
Tenemos cosas como tipo aire, es decir, cuando no emparejamos el tipo de datos y lo hacemos, digamos una cadena más cuatro.
Tenemos cosas como un valuador.
Tenemos cosas como Kierra, donde intentamos acceder a una clave que no existe o error de atributo,
donde intentamos acceder al método del objeto y ese método no existe.
Ahora, estos errores son algo que hemos estado viendo a lo largo del curso, y veremos
algunos más fuera de eso.
Hay entre 15 y 20 errores que son realmente comunes y que aparecen el 90 por ciento de las veces.
Y si recuerda, siempre puede ir a la documentación de Python para aprender sobre ellos, pero esto solo viene
con la práctica.
Si ves un error que nunca antes habías visto, te recomiendo que vayas a la documentación y leas al
respecto.
Una vez que lo ve, por lo general tiende a recordar cuándo aparece a continuación.
Pero déjame mostrarte mi forma favorita de depurar código.
Y se llama PDB o Python Debugger, y PDB es un módulo integrado en Python aquí mismo.
Nuevamente, recuerde, nuestro módulo integrado es parte de la biblioteca estándar con la que viene Python y PDB es
el depurador de Python para intérpretes interactivos.
Y puedes leer sobre esto aquí, pero déjame mostrarte lo que hace.
Verá, PTB es extremadamente útil porque nos permite interactuar con el código, por lo que anteriormente,
cuando teníamos una función, digamos que tenemos la función agregar y tenemos el número uno, el número dos, y luego esta
función simplemente devuelve Namwon más el número dos .
Ahora, antes, si quisiéramos, digamos, depurar este código.
Y digamos que estamos agregando cuatro más un galimatías y nos está dando un aire.
El primer paso que tomaría probablemente sería agregar una impresión aquí para poder decir imprimir, oye, ¿qué
está pasando?
Déjame ver el número uno y el número dos y lo que me está dando.
E imprimir es una forma muy, muy rápida y sencilla de depurar su código.
Lo uso todo el tiempo, pero PDB nos da un pequeño impulso adicional.
Entonces podemos usarlo así, simplemente importamos PDB y en lugar de usar algo como una función de impresión, podemos
simplemente decir déjame espacio exterior aquí, simplemente podemos decir PDB para el depurador de Python y luego decir establecer, rastrear
y rastrear, yo diría que es el método más útil que tenemos en este objeto PDB que lo
importamos.
Verá, cuando ejecuto el método set.
Ahora me brinda un depurador de Python interactivo en el que ahora puedo escribir comandos aquí y probar mi
código.
Y aquí está la parte interesante en este momento en este PDB, estoy justo dentro de la línea ocho, por lo que mi código
intentó ejecutarse, pero luego se detuvo tan pronto como dijo PDB, dijo Trace.
Y ahora estoy en este mundo y puedo probar lo que está pasando para poder decir, oye, Namwon, ¿qué
es?
Bueno, el número uno es ¿qué pasa con el número dos?
Bueno, el número dos es una cuerda.
Y podría decir, oh, estoy tratando de agregar una cadena y un final a esto.
Esto no funciona.
Entonces también puedo detectar errores de esta manera.
Ahora, este PDB interactivo en realidad tiene un montón de cosas útiles.
Entonces, si escribo ayuda aquí.
Verá que tengo comandos que puedo usar en el PDB, así que tengo una tonelada aquí a la que tengo acceso, lo que supongo que
me va a entusiasmar con este depurador de Python PDB, pero también lo he hecho.
Cosas como.
Digamos lista, veamos qué lista hace, así que cuando escribo lista aquí y ahora mismo, el sitio web realmente lo
es.
No me muestra demasiado, pero espero que todavía pueda ver la lista.
Y supongo que es una especie de salida, veo que obtengo una lista de mi código y está bien, pero digamos que no sé exactamente
qué hace la lista.
Bien.
PDB nos permite escribir ayuda y luego listar.
Y cuando hacemos eso, en realidad nos da la documentación, tal como la tenemos aquí.
Si vamos a, digamos, list.
Veamos, hagamos una lista apática aquí, me da la documentación aquí, por lo que dice la fuente de la lista
para la actual.
Derecha.
Entonces solo enumera el código fuente que escribimos.
OK, eso es todo.
¿Qué más hay ahí?
Bueno, también tenemos algo como Step o S para abreviar y step es realmente genial.
De hecho, usemos Clear para llevar esto a la parte superior, así que voy a decir clear para que borre todas las
rupturas.
Hagamos.
Hagamos esto un poco más grande para que puedas ver que ahí lo tienes, eso es mejor, ¿verdad?
Así que ahora puedo hacer algo como Step and Step nos permitirá pasar a la siguiente línea.
Entonces, nuevamente, si hacemos esto un poco más grande.
Step dirá, oye, ve a la línea nueve, así que veamos qué pasa, voy a escribir step.
Ah, y me apuñalaron dos veces, un paso necesario.
Y mire eso, voy a la siguiente línea de mi abrigo y me dice, oye, aparece un error tipográfico, el error
que obtuvimos.
Así que agreguemos otra línea aquí.
Digamos que estamos tratando de sumar cuatro más cinco aquí o cuatro multiplicar por cinco y asignar
asignarlo a una variable.
Si detengo esto y ejecuto esto de nuevo.
Ahora estoy adentro por aquí.
Si escribo T, obtengo un nombre T no está definido porque, bueno, estoy dentro del código aquí en la línea ocho, pero
todavía tenemos una línea roja nueve.
Así que hagamos el paso.
Y ahora estoy en el siguiente lado.
Entonces, si no lo hago ahora, me acerco a 20, increíble, así que paso paso a paso por el código, que es realmente, realmente
útil.
También tengo cosas como continue, que me permite continuar con el código hasta que devuelva algo
y continúo y salgo de PDB y miro eso.
Llego a la sala de emergencias.
Ejecutemos esto de nuevo, otro comando útil es ay A en realidad me da todos los argumentos de la función actual en
la que estamos.
Así que mira eso.
Recibo todos los argumentos, lo que, de nuevo, es realmente útil.
También está el comando W.
Lo que me muestra el contexto de la línea actual que se está ejecutando.
Para que pueda ver aquí dónde estamos, estamos en el anuncio.
Función.
Lo llamamos con estos argumentos y ahora estamos a punto de ejecutar esta línea.
Y finalmente, mientras estamos debatiendo esto, está bien, creo que finalmente veo que
tenemos un aire, deberíamos haberle dado un número, así que ahora puedo salir de aquí y simplemente arreglar esto en cinco.
Así que ahora puedo eliminar mi PDB y todo debería funcionar bien con mi código.
Impresionante.
Así que PDB es increíble para revisar tu código y depurar y probar cosas diferentes, requiere un
poco de práctica, pero después de un día de jugar con PDB, te volverás muy, muy bueno en eso.
Entonces, después de este video, le recomiendo que escriba PDB y, con suerte, tenga un archivo Python lo suficientemente grande.
Pueden simplemente pasar y experimentar con diferentes comandos, usando la ayuda, usando la lista para ver lo que tiene
disponible para usted.
De hecho, quiero mostrarles una última cosa, así que digamos que volvamos a nuestro código, nuestro PDB dice Trace, hago clic
en ejecutar.
¿Podría hacer algo como esto en el que me dé cuenta de que escribo y tengo todo escrito, mi código está funcionando, pero podría cambiar el
número dos para que ahora sea igual a un galimatías?
Bueno, veamos si hago lo siguiente ahora.
Y hagamos lo siguiente para ejecutar esta última línea.
Entro allí, así que también puedo cambiar las variables aquí y escribir código Python para quizás probar mis
funciones.
Esto ahora está funcionando.
Puedo probar, oye, ¿qué pasa si cambiamos esta variable a otro valor?
De nuevo, muy, muy útil.