Cuando en una zona se pueden observar signos visibles de delincuencia o comportamiento antisocial se fomenta en la misma la aparición de este tipo de conducta. Esta idea es lo que se conoce en el campo de la criminológica cómo *La teoría de las ventanas rotas. Una teoría que procede de la observación de que cuando en un edificio se pueden apreciar la existencia de ventanas rotas es más probable que se rompan otras debido a actos vandálicos. Existe una correlación entre el desorden observado y el respeto de las normas. Por lo que, cuando se observa una ventana rota, una buena medida preventiva para evitar la aparición de comportamientos antisociales es repararla.
Esto es, la teoría de las ventanas rotas nos viene a decir que, en cierta medida, el orden llama al orden y el desorden al desorden. Por lo que es aconsejable mantener un entorno ordenado y sin signos de aquellos comportamientos que deseamos evitar. Algo que se puede aplicar también a la hora de escribir código.
La teoría de las ventanas rotas aplicando a la programación
A la hora de mantener código nos podemos encontrar con dos situaciones extremas. Un código bien escrito; en el que los nombres de variables y funciones son descriptivos, facilitando su lectura; el contenido se encuentra correcta y homogéneamente formateado, haciendo más sencilla su revisión, y la documentación es adecuada. Por otro lado, el código mal escrito, el cual no cuenta con estas propiedades y es más difícil leer y entender. Ante ambas situaciones, ¿cuándo es más probable que al actualizar el código este sea de buena calidad? Normalmente en la primera situación, cuando el código está bien escrito.
Esto es, a la hora de escribir código es una buena práctica pararse para evitar que existan "cristales rotos" en este. Evitando el uso de variables que no sean significativas y dándole al mismo un formato homogéneo. No solo facilitará la lectura, algo que en muchas ocasiones agradecerá nuestro yo futuro, sino que será más fácil su mantenimiento.
Herramientas para mejorar el código
Afortunadamente hoy en día existen múltiples herramientas con las que es posible identificar código confuso y dar formato en nuestro código. Incluso existen métricas que nos pueden dar una idea de lo bueno que es. Herramientas como ESLint (Linter o validados de código) o Prettier (formateado) de las que he hablado en la serie de creación de una librería TypeScript.
Por otro lado, en Python, contamos con herramientas como Pylint con la que es posible comprobar si nuestro código sigue las reglas y estándares de pep8 y YAPF para homogeneizar el formato al mismo.
Conclusiones
En esta ocasión hemos visto como el hecho de trabajar con código desordenado nos lleva a unos resultados que no son deseables. Por lo que invertir en ordenar este es algo que tiene un importante retorno en productividad.