The talking bit

A blog about programming, mainly PHP, and maybe other things


Project maintained by franiglesias Hosted on GitHub Pages — Theme by mattgraham

Deprecated (Blogtober2019)

por Fran Iglesias

Mi compañera y manager en Holaluz Mavi Jiménez va a hacer un dibujo cada día del mes sobre una palabra propuesta en twitter. Y aquí vamos a intentar escribir un post por cada una de ellas.

Deprecated

Los significados de la palabra deprecated oscilan entre los esperados desfasado u obsoleto y los algo más cargados menospreciado, desacreditado o despreciado.

Me viene bien esto, porque en parte me ayuda a prepararme para la próxima palabra, que será legacy.

El uso habitual de deprecated es el de marcar algo como obsoleto, ya sea una función, una clase, un endpoint de un API, etc, aunque aún no se retire del código, con el objeto de dejar de usarlo de manera ordenada y recurrir a las alternativas disponibles. De este modo se evitan roturas de servicio.

Claro que, a veces, también ocurre que el proceso de deprecation no funciona como es debido. Por ejemplo, que una unidad deprecated nunca llega a borrarse del código, generando un bloque de código muerto que acaba distrayéndonos mientras buscamos información que nos confirme que efectivamente no se utiliza para nada.

Esto puede pasar en parte por no tener una política clara de deprecations y un proceso asociado, pero también por una mala organización del código, en la que las piezas relacionadas se encuentran en lugares muy diferentes. Por ejemplo, cuando se estructura en base a criterios técnicos, lo que provoca que se pierda la cohesión entre elementos que cambian juntos, pero que se encuentran físicamente separados, facilitando que nos dejemos algunos por el camino.

El resultado es que la base de código se convierte en un campo embarrado con zonas seguras y otras zonas que resultan ser un charco de lodo. Con suerte, no es más que un simple charco, pero tenemos que dedicar tiempo a asegurarnos de que no se trata de un pozo.

October 28, 2019

Etiquetas: blogtober19  

Temas

php good-practices blogtober19 testing refactoring tdd design-principles legacy misc design-patterns bdd tips python ddd tools soft-skills bbdd api sql ethics testing, swift javascript