En mi día a día paso una media de ocho horas programando por la mañana, más
la cantidad que dedico por la tarde que suele oscilar entre las tres o cuatro
horas, eso me deja con una media de unas once o doce horas diarias de programación,
algo verdaderamente agotador al terminar el día. Además que las obligaciones
fuera del trabajo ocupan un lugar importante dentro de nuestros pensamientos.
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?