Ahora que he practicado con las sentencias if, voy a ver algunas reglas para los bucles for y while que me facilitarán las cosas. También voy a ver algunas cosas sobre depuración para que pueda averiguar los errores de mi programa. Por último, diseñaré un pequeño juego similar al del ejercicio anterior, pero con un ligero cambio.
REGLAS PARA SENTENCIAS IF
- Cada sentencia if, debe tener un else.
- Si ese else no pudiera ejecutarse porque no tuviera sentido, debe utilizarse una función die en el else que muestre en pantalla un mensaje de error, tal y como hice en el último ejercicio. Así se encuentran muchos errores.
- Nunca anidar declaraciones if más de dos niveles de profundidad. Hay que intentar hacerlo en uno. Ésto significa que si escribo un if dentro de otro if, debería trasladar el segundo if a otra función.
- Tratar las sentencias if como párrafos, donde cada if, elif y else se agrupen como un conjunto de frases. Añadir líneas en blanco antes y después.
- Las condiciones booleanas deben de ser simples. Si son complejas, trasladar los cálculos a variables en una función y usar un buen nombre para variables.
¿Se cumplen las reglas en el ejercicio anterior?
Hay que tener en cuenta que éstas «reglas», son más bien consejos para escribir un código limpio, pero en la vida real, hay que ser flexible.
REGLAS PARA BUCLES FOR
- Utilizar un bucle while sólo para bucles infinitos, es decir, probablemente nunca. Ésto sólo se aplica a Python. Otros lenguajes son diferentes.
- Utilizar un bucle for para todos los otros tipos de bucles, sobre todo si hay un número fijo o limitado de cosas a recorrer.
CONSEJOS PARA DEPURAR EL PROGRAMA
- No utilizar un «debugger» o depurador. Un depurador es como hacer un escáner del cuerpo completo de una persona enferma. No obtengo ninguna expresión específica que sea útil, sólo conseguiré una gran cantidad de información que no me ayudará y me confundirá.
- La mejor forma de depurar un programa es utilizar print para mostrar en pantalla los valores de las variables en ciertos puntos y ver así dónde está el fallo.
- Asegurarme de que las partes de mis programas funcionan a medida que los desarrollo. No escribir todo el código de una vez sin probar antes que se ejecuta correctamente. Escribir un poco de código, ejecutarlo y solucionar los errores.
EJERCICIO PENDIENTE
Escribir un juego similar al del ejercicio anterior, usando listas, funciones y módulos (como en el ejercicio 13).
¡¡¡Pero antes de ésto, hay que escribir un mapa del juego!!!
No es que me paralice el miedo, ejem, es que quiero avanzar, para luego volver sobre mis pasos.
😛