Opinión

La teoría de las ventanas rotas

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.

Imagen de Taken en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Lint

Recent Posts

Por Qué las Contraseñas Largas son más Seguras que las Complejas

"Tu contraseña debe tener al menos 8 caracteres, una mayúscula, un número y un símbolo…

7 horas ago

Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring

Cuando un analista de riesgo presenta un nuevo scorecard ante el comité de dirección, la…

2 días ago

Curiosidad: De dónde vienen foo, bar y foobar

Si revisáis código o documentación de otros programadores, tarde o temprano os toparéis con dos…

1 semana ago

BG/NBD + Gamma/Gamma: el modelo probabilístico para CLV en compras continuas

Los dos artículos anteriores cubrieron el CLV clásico —una fórmula útil pero que trata a…

1 semana ago

Errores habituales al trabajar con DataFrames grandes en Pandas (y cómo evitarlos)

Hay un momento muy concreto en la vida de casi todo análisis: el código que…

2 semanas ago

Champion vs Challenger: Cómo los Bancos Validan Modelos Nuevos antes de Ponerlos en Producción

Has construido un nuevo modelo de credit scoring. Las métricas de validación son mejores que…

2 semanas ago

This website uses cookies.