Foto tomada de freedigitalphotos.net |
La cabeza muchas veces no está tan centrada como para programar de la mejor forma ni para solucionar errores de la manera más óptima. Recuerda que somos humanos, no máquinas, y no siempre estamos en condiciones perfectas para decirle a ésta “máquina tonta pero obediente” lo que tiene que hacer.
Aunque estemos en la era digital y prácticamente todo se haga por
computadores, un cuaderno de papel y un bolígrafo pueden ser unos instrumentos
estupendos para ayudarnos a programar.
Una de las posibles aplicaciones del papel y el bolígrafo puede ser la de
organizar ideas y conceptos sobre el proyecto en que estemos trabajando. Al
igual que comenté en el post sobre programar y cocinar, en éste caso la
división de tareas grandes en tareas pequeñas también es una buena práctica.
Anótelo todo, sea conciso y ordenado, si le viene una idea a la cabeza
escríbala en su cuaderno, eso le ayudará a despejar su mente de distracciones.
Otra de las aplicaciones de escribir a papel es la de poder desglosar y
esquematizar un procedimiento o una función, anotando las instrucciones que deben
usarse, las variantes que el programa puede tomar y los posibles valores con
los que vamos a trabajar. Poder plantear casos intentando anticiparnos es una
muy buena práctica, sobretodo si cuando lo hacemos tomamos valores límites y
nos preparamos para el peor de los comportamientos posibles.
Otra de las buenas prácticas que se sirven del papel y el bolígrafo es la
posibilidad de realizar trazas de la aplicación. Una traza no es más que un
seguimiento intensivo del orden de ejecución de un programa y los valores que
las variables tienen en cada momento. Gracias a las trazas es posible
determinar perfectamente dónde se encuentra un error, los valores que están
influyendo en ese error y el estado global de la aplicación. Muy útil cuando la
aplicación se comporte de una forma inesperada.
A la hora de planificar una aplicación o de explicar un algoritmo el papel
y el bolígrafo juegan unos papeles muy importantes. De ésta forma se puede
explicar perfectamente y paso a paso el funcionamiento requerido, los casos
posibles que se pueden dar y el esquema general donde albergaremos el
algoritmo. También se puede acompañar de dibujos y esquemas rápidos para así
poder ilustrar los conceptos. Ésta técnica es rápida, sencilla y además se
puede conservar perfectamente y transportar para su posterior estudio. Imagine
que va a explicar un algoritmo sobre densidad de población y la mejor forma de
explicarlo sea mediante un mapa. ¿Perdería un tiempo precioso en buscar un mapa
en Internet, retocarlo, buscar un software para poder añadir anotaciones y un
soporte para albergar el archivo digital para utilizarlo más tarde? ¿No
preferiría unas simples anotaciones esquematizadas sobre un dibujo?
No quería terminar el post sin antes hacer mención a la que para mí es de
los mejores usos del papel y el bolígrafo, anotar tareas pendientes y que no
pueden ser abordadas en el momento. Aunque nos creamos lo contrario, nuestra
cabeza no puede alojar tanta información de forma tan inmediata y a corto
plazo, podremos memorizar muchas cosas pero cuando llegue el momento de
recordarlas quizás no estén ahí, usar una anotación sobre la próxima tarea que
hay que realizar ayuda a ser organizados y a no olvidar ninguno de nuestros
cometidos.
En conclusión, el papel y el bolígrafo juegan un papel muy importante en el
día a día de un programador, no dude en usarlo en ningún momento.
¿Qué otros métodos aparte del papel y bolígrafo aconsejáis?