¿Debuguear o refactorizar? el eterno dilema.
Tags: spanish, writing
Published: 2023-06-10 19:46:31

Tema candente: el eterno dilema de ¿debuguear o refactorizar? Articulo sobre de mi muy personal perspectiva. Este articulo es gracias a la inspiración de este debate [link](https://dev.to/devteam/debug-or-refactor-the-coding-dilemma-2e2j).
Personalmente me gusta debugear porque sería una de las opciones mas rápidas para resolver el problema, esto quiere decir que solamente saber lo que esta fallando vas a tener que buscar la ruta del proceso y el o los componentes que están involucrados. Ahora como yo lo veo acá esta el punto clave, que es resolver problemas. Acá es donde intervienen una serie de elementos pero se pueden resumir en tres opciones: eres experto en las reglas de negocio, en el lenguaje de programación o ambas. Como lo veo las primeras dos opciones serían las predilectas para debuguear porque son las más rápidas y por lo tanto en donde la gran mayoría de las personas se sentirían cómodas ya sea porque tiene poco tiempo dentro de su empresa o es un módulo que poco conoce. El detalle que veo que es genial al debuguear es cuando lo que estas solucionando no involucra cosas que afectan a muchos módulos o sea critico para el funcionamiento de un sistema o flujo de trabajo.
Ahora viene lo bueno refactorizar, acá es cuando eres experto en el negocio y además en el lenguaje, yo recientemente me tuve que enfrentar a revisar un sistema que tiene como 12 años de su creación y que tenia módulos que son esenciales para el funcionamiento del negocio que no funcionaban por muchos factores involucrados desde la versión del lenguaje bajo la cual funcionaban, hasta la infraestructura, pasando por el proveedor de servicio que se consumía una forma muy vieja de obtener datos que se consultaban. Mi primer acercamiento fue debugear y solucionar los problemas pero ya llevaba mas de dos semanas tratando de solucionar un error y salían dos o tres más, la lógica era confusa y enredada. Por lo tanto después de pensarlo demasiado me decante por refactorizar. Oh si, el punto clave fue que la forma en que se consultaba los datos existía algo más moderno y esto afectaba de manera recursiva y exponencial al proceso de negocio y al funcionamiento del sistema. Entonces empecé por ahí. Refactorizar es adecuado cuando tu valor agregado tanto para el negocio como para los futuros desarrolladores es descomunal y no simplemente por una cuestión de ego de que tu lo puedes hacer mejor que otro. Refactorizar lleva mucho tiempo de trabajo y esfuerzo entender que estas afectando y no es para todos. Sobre todo si estas empezando y no tienes mucha experiencia.
Entonces en resumen si no afectas muchos módulos, el código es mediadamente fácil de leer y necesitas soluciones con mayor velocidad decántate por debuguear. Si por el contrario esta hecho todo un desastre, el valor agregado tanto al negocio y futuros desarrolladores es exponencial, además de que existen formas más modernas de solucionar el problema vete por refactorizar. Este tema me apasiono y quería compartir mis ideas, si a ti también te gusto o te ayudo de algo a comprender mejor estos enfoques sígueme para más contenido y compártelo con quien creas necesario, es gratis.