“Python, Lenguaje, Chancla y variable”, Tercera consulta al Doctor Profesor Alexis Freud

--Originally published at TC101 – Doctor Alexis Freud

Como Doctor Profesor en código, conozco la complicidad que representa entender un lenguaje de programación. Es fácil confundirse y comenzar a escribir cosas sin sentido. El problema más grande que existe se presenta cuando sabes lo que haces, pero pareciera que no tienes idea de saber lo que sabes. Así se presentó el día de hoy mi tercer paciente, un poco perdido por cierto, a consulta. Su nombre es Snoop Catt. Parece ser algún pariente lejano de Snoop Dogg.

14359912_1208750532479541_849520625_oLlegó a mi consultorio codigocional diciendo palabras al azar. Era desesperante, pero debía tratarlo con profesionalidad.

“Python, lenguaje, chancla, variable, print, x igual a 5, funciones, string” fueron sus inteligentes palabras.

Personalmente, creo que en ese instante debí llamar a un médico científico real para hacerle un antidoping y quizá ingresarlo a rehabilitación para con sus drogas. Me parecía extraña su manera de hablar, sin embargo, creí conectar poco a poco algunas palabras hasta que entendí lo que sucedía: su código era complicado, no sabía lo que estaba haciendo, dejo código incompleto, escribía nombres de variables exageradamente largos y entender su “programa” (si es que se le puede llamar así a eso) era una misión imposible.

Estuve a punto de tomar el teléfono y llamar a emergencias (temí por mi vida, porque, bueno, no todos los días llega alguien gritando cosas sin sentido, con los ojos rojos y un cigarro con sustancias ilegales dentro) pero me contuve. Afortunadamente, porque me pagó bastante bien por la sesión.

Aproveche que volaba un poco en su mente y decidí darle un poco de filosofía de Python. Algo llamado específicamente el Zen de Python. Esto es un conjunto de 19 “reglas” o “recomendaciones” para una buena programación en Python. Los escribió un tal Tim Peters (que obvio fue mi alumno como profesor de código, y,

python-shell
es un excelente programador, gracias a mi, obvio.)

Si abres tu consola de Python, escribes “import this” y das un sensual tecleo enter, aparecerá el Zen de Python. Lo dejo a continuación.

python-shell
Este “Zen of python” es nuestra guía hacia el paraíso de los programas perfectos. Casi cualquier programador puede acceder a él. Me encanto compartir esta parte de mi religión (con mi dios Guido van Rossum) con mi paciente. Pero, dejemos de lado eso y volvamos a lo importante.

Este “Zen of Python” nos dice lo siguiente:

  • Es mejor tener un programa que sea bonito y hermoso.
  • Es mejor dejar todo bien explicado a dejar los textos a interpretación.
  • Es mejor dejar todo simple, a dejar las cosas complejas.
  • Será mejor algo fácil de explicar, que algo poco complicado.
  • No es necesario que tengas nombres largos y difíciles, es mejor algo fácil de leer.
  • Es mejor tener tu código disperso en varias líneas a tenerlo todo en una sola.
  • Resulta fundamental que tu código se pueda leer fácilmente por cualquiera.
  • No hay excepciones de ningún tipo.
  • Al final, será mejor algo practico que algo simple.
  • Los errores nunca deben pasar desapercibidos, a no ser que sean provocados.
  • Nunca dejes que alguna parte que no este muy clara te haga dudar. Lo mejor es simplificarlo.
  • Solo debe existir una manera obvia de hacer las cosas, aunque quizá no sea tan obvia, a menos que seas el creador de Python.
  • Hacerlo ahora es mejor que no hacerlo nunca, sin embargo, nunca a veces es mejor que justo ahora.
  • Si la implementación es difícil de explicar, quizá sea una mala idea.
  • SI la implementación es fácil de explicar, quizá sea una buena idea.
  • No olvides dejar lineas entre lineas. Puede ayudarte a entender todo mejor.

Además de esta breve explicación, se puede encontrar más información en el blog de mi amigo Emanuel Estrada. También es Doctor Profesor en código, pero un poco más serio. Lo recomiendo ampliamente.

También anexo este video super cool para comprenderlo mejor.

Luego de explicarle esta parte de Python, me parece que le aclaró un poco visión de Python, aunque no dejo nunca su cigarrillo, cambio el código para hacerlo más simple.

Hasta aquí mi reporte Joaquín.