Newsletter para devsEntra

Atrévete a mirar a tu pasado: Cómo la IA puede ayudarte a refactorizar tu código legacy

Primero, te contaré una historia

Sucio y con los pantalones raídos por el paso del tiempo. Nada que ver con tu flamantes estampados geométricos y deportivas con zebras y jirafas.

Nunca pensaste en volver a hablar con él.

Sabías que estaba allí, escondido en una carpeta dentro de otra que se llamaba Z-nunca-mirar. Ignorabas su presencia.

Hasta que una llamada delató tu olvido:

_— ¿Te acuerdas de aquel proyecto que hicimos tan mal? Pues resulta que el cliente quiere actualizar y meter pasta. Ponte con ello, ¡para ayer!

Las zebras se convirtieron en tigres. Los estampados en calaveras.

¡Tenías que rescatar un código legacy!

Estás de suerte.

Al ser mayo de 2023 tienes una herramienta que hace poco no estaba ni alcance de tu cuñado: la Inteligencia Artificial.

Imagínate que tienes que hablar con el código de tu pasado, prefieres que te ensarten antes que volver a mirar aquello.

¿Qué preguntarías a tu código legacy?

Ahora puedes alimentar a la IA con tus líneas (algo que veremos si es posible hacer y cómo lograrlo en Mayo en la suscripción de Web Reactiva).

1. Refactorizar

Estaría genial que te convirtiera todas las funciones a objetos y que además las ajustara a un moderno framework.

Pero es una tarea difícil: La IA, ahora mismo, funciona mejor con fragmentos pequeños.

Recuerda que no te sustituye, solo te apoya.

2. Añadir nueva funcionalidad

Es capaz de entender el código, está demostrado en ChatGPT y otras alternativas.

Añadir nuevos “Controllers” a una web o crear nuevas consultas a la base de datos puede estar más cerca si tu legacy tiene ejemplos de ello.

3. Escribir tests

Sin duda alguna algo que ya podemos lograr con Copilot o Codeium por citar algunas de las extensiones que se acoplan a nuestro editor.

Habrá que revisarlos pero será la mejor forma de “soldar” los nuevos cambios.

4. Crear documentación

Si algo tiene el legacy es que está escaso en comentarios (o quedaron desactualizados) y tienen pocos o ningún test.

Apóyate en esta herramienta para que supla tus carencias del pasado para proveer de un mejor código en el futuro o, al menos, uno que se pueda entender con más facilidad.

Recursos

Para llevar

  1. 🔄 Refactorización asistida por IA: La Inteligencia Artificial puede facilitar la tarea de la refactorización del código, liberándote tiempo y esfuerzo.

  2. 🛠️ Adición de nuevas funcionalidades con IA: Con la capacidad de entender el código existente, la IA puede ayudar a generar nuevas instancias de Controllers o consultas de bases de datos.

  3. 🧪 Creación de tests con IA: Las herramientas de IA como Copilot o Codeium pueden acelerar el proceso de creación de tests, proporcionando una base sólida para comenzar.

  4. 📚 Mejora de la documentación con la ayuda de la IA: La IA puede analizar tu código y generar comentarios y documentación que faciliten la comprensión y el mantenimiento del código.

  5. 🤖 La IA como herramienta de apoyo, no de sustitución: Aunque la IA es útil para varias tareas de programación, no está diseñada para reemplazar a los programadores humanos, sino para complementar su trabajo y mejorar su eficiencia.

Para tirar del hilo

¿Cómo podría la IA impactar en tu flujo de trabajo actual?
Reflexiona sobre cómo la inclusión de la IA en tu proceso de desarrollo de software podría afectar tu productividad y eficiencia.

¿Cuáles son los posibles desafíos y cómo los superarías?
El uso de la IA puede presentar sus propios desafíos. ¿Cuáles crees que podrían ser algunos de estos desafíos y cómo planeas superarlos?

¿Cómo ves el futuro de la programación con la integración de la IA?
Imagina cómo será la programación en un futuro donde la IA está aún más integrada de lo que está hoy. ¿Cómo cambiarán los roles y responsabilidades de los programadores humanos?

Mapa mental

Diagrama para entender cómo hablar con el código legacy

Si te gusta este “Ensayo atómico” recibe uno nuevo cada semana a través de nuestra newsletter.

Escrito por:

Imagen de Daniel Primo

Daniel Primo

CEO en pantuflas de Web Reactiva. Programador y formador en tecnologías que cambian el mundo y a las personas. @delineas en twitter y canal @webreactiva en telegram

12 recursos para developers cada domingo en tu bandeja de entrada

Además de una skill práctica bien explicada, trucos para mejorar tu futuro profesional y una pizquita de humor útil para el resto de la semana. Gratis.