miércoles, 27 de marzo de 2013

El principio de la ventana rota

Artículo perteneciente a la sección de calidad del código

Hola a todos,

Hace un tiempo, leyendo un libro de TDD leí  un principio bastante divertido. El principio de la ventana rota.

Este principio se basa en que si unos crios de un balonazo se cargan un cristal, no pasa nada, se cambia el cristal y todo arreglado.
El problema viene cuando si nosotros, por desidida o falta de recursos o tiempo no cambiamos el cristal, ese cristal roto va a contagiar al resto de vecinos.

Cuando al vecino se le rompa un cristal de un golpe de aire, no lo va arreglar, por que total, "el del segundo no lo ha arreglado, por que debería hacerlo yo?"... esta cadena iria sucediendo hasta que al final la gente rompiese queriendo los cristales de las ventanas para no desentonar con el resto de la vecindad.

Aunque este principio es una clara exageración en el mundo real, resulta que coincide exactamente con lo que pasa en el mundo de la programación. La frase "total, para como está el código no hace falta hacerlo mejor" seguro que la habeís oido (e incluso dicho) en más de una ocasión.

Todo esto viene por que ahora, con el desarrollo del pakengine me ha pasado una cosa parecida. Voy falto de tiempo, pero quiero tener regularidad en las entregas de los artículos y en las subidas al svn, así que aplico menos testeo TDD, se me van rompiendo las cosas, pero como no son del tema en concreto que estoy publicando las apunto para un futuro...., pero vaya, el futuro al final llega con toda una bolsa de pequeños fallos por arreglar. Si decido no arreglarlos, se comienzan a crear fallos estructurales en el código y se condicionan malas decisiones de diseño....si los arreglo tengo que ir más lento en las entregas....  supongo que ya sabeís cual es la respuesta no???

La única manera de conseguir una buena calidad del código es parar cuando detectamos errores, sacar tiempo y recursos de donde sea y arreglarlo todo bien hecho y sin parches. Sino, las malas decisiones nos van a seguir durante todo el proyecto hasta matarlo (si quereis ejemplo mirad mis motores anteriores :D)

En fin, espero no haber sido demasiado catastrofista y que estos consejos os puedan servir en vuestros proyectos.

Nos vemos
LordPakusBlog

0 comentarios :

Publicar un comentario

Entradas populares