domingo, 30 de noviembre de 2008

En casa del herrero...


Hoy leo en Coding Horror el post “Coding: It’s just writing”. Nos recuerda que programar bien, tiene que ver tanto con hacer que un programa haga lo que debe, como con hacer que los demás lo entiendan. Aplica lo mismo que a la escritura normal: ser claros y concisos es súper importante, expresar tus ideas de forma sencilla, y a ser posible con las palabras justas (o cantidad de código preciso), pero no menos de las necesarias. Podemos pasarnos la vida mejorando y refinando la forma en que redactamos, e igualmente, la forma en que codificamos. Lo mismo aplica a cualquier otro campo de la informática: lo que queda de un proyecto es lo documentado, así que al final, eso es el proyecto.

Nos mencionan el concepto de “Literate programming”, original de D. Knuth, con el siguiente párrafo, que escribió:

“Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.
The practitioner of literate programming can be regarded as an essayist, whose main concern is with exposition and excellence of style. Such an author, with thesaurus in hand, chooses the names of variables carefully and explains what each variable means. He or she strives for a program that is comprehensible because its concepts have been introduced in an order that is best for human understanding, using a mixture of formal and informal methods that reinforce each other.”


Esto os lo escribo porque dentro mis actividades como informático y segurata, también he tenido labores de analista y programador. Lo de programar lo llevo en el cuerpo, me encanta, estudié informática por eso. Pero… ¡Ay!: las prisas, el tener que desarrollar una funcionalidad compleja para mañana, porque la necesito para el último proyecto en el que estoy trabajando, llevan a no escribir bien. Particularmente: a escribir código de forma que luego es difícil de entender. Ocurre, aunque me crea un buen developer.... Y eso, por ejemplo, lleva a problemas de seguridad, o sea que se puede decir eso de “en casa del herrero, cuchara de palo”.

Hace ya algún tiempo (cuando me metí en el mundo del Traje y la corbata), nuevos informáticos y seguratas en la empresa heredaron mi trabajo, y tienen ante sí una doble tarea: desarrollar como les gusta y crear nuevas funcionalidades, y lidiar con partes del código que dan asco porque no tuve tiempo para codificar adecuadamente. Este post es para que conste: Kudos para ellos :)

Slds!

P.D. También nos mencionan este otro post sobre borrar código (), muy bueno ;)
P.D. Relacionado: Enrique nos presenta el Tao del programador


Si te gustó esta entrada, quizás quieras suscribirte al blog por RSS...

1 comentario:

Anónimo dijo...

¡Buenas!

La verdad es que no sabes cuánto me siento identificado con la entrada :) Mi primera intención como blogger informático fue dedicar líneas y líneas a estos temas, aunque finalmente no fue así, jejeje. Lo que sí es cierto es que durante la codificación se suele dejar de lado la seguridad (por muchos temas en los que se podría entrar), la eficiencia, y quién sabe cuántas cosas más. Pero mientras los proyectos lleguen tarde y mal, me temo que seguirá ocurriendo.

En mi caso también me metí en la informática por la programación, y a día de hoy me alegra seguir representando un rol un tanto ambiguo que me permite acercarme a los dos mundillos que refleja tu blog :)

Me alegra seguir leyéndote, aunque me falte tiempo hasta para comentar :D

Un abrazo,

Mith.