Pages - Menu

viernes, 12 de abril de 2013

¿Por qué el papel y el bolígrafo son buenos aliados para programar?

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. 


Papel y bolígrafo, buenos aliados
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?