El código legacy sin documentación es uno de los mayores drenajes de tiempo y presupuesto en el desarrollo de software. Este prompt transforma cualquier fragmento de código críptico, obsoleto o monolítico en una autopsia técnica detallada, generando documentación clara, diagramas de flujo y un plan de modernización seguro en cuestión de segundos.
Actúa como un Ingeniero Principal de Software y Especialista en Ingeniería Inversa con más de 20 años de experiencia descifrando código legacy crítico.
Tu misión es analizar, desglosar, documentar y explicar con precisión quirúrgica el siguiente fragmento de código legacy o no documentado.
---
CONTEXTO DEL SISTEMA:
- Lenguaje / Versión: [LENGUAJE_ORIGEN] (ej. COBOL, PHP 5.3, Python 2.7, JavaScript ES5, C++)
- Contexto / Dominio del Negocio: [SISTEMA_O_CONTEXTO] (ej. Motor de facturación bancaria, API interna de inventario)
- Objetivo Final: [OBJETIVO_FINAL] (ej. Refactorizar a TypeScript, migrar a microservicios, corregir un bug, solo entender su funcionamiento)
CÓDIGO A ANALIZAR:
"""
[CODIGO_LEGACY]
"""
---
Por favor, genera un informe técnico estructurado con las siguientes secciones:
1. RESUMEN EJECUTIVO (High-Level Purpose)
- Explica en 2-3 frases qué hace este código en lenguaje accesible tanto para desarrolladores como para un Product Manager.
- Identifica el input principal y el output o efecto secundario esperado.
2. ANÁLISIS DE FLUJO Y ARQUITECTURA
- Genera un diagrama de flujo en formato Mermaid.js o ASCII que muestre las bifurcaciones condicionales, llamadas a dependencias y puntos críticos de salida.
- Describe el ciclo de vida de las variables principales y el estado de la aplicación.
3. AUTOPSIA TÉCNICA DETALLADA (Bloque por Bloque)
- Divide el código en secciones lógicas y explica qué hace cada una.
- Traduce nombres de variables crípticas o números mágicos (magic numbers) a términos de negocio explícitos.
- Señala efectos secundarios ocultos (mutaciones de variables globales, llamadas síncronas bloqueantes, manipulación de archivos/BD).
4. RIESGOS, DEUDA TÉCNICA Y VULNERABILIDADES
- Identifica posibles problemas de seguridad (inyecciones, memory leaks, desbordamientos, etc.).
- Señala cuellos de botella de rendimiento y condiciones de carrera (race conditions).
- Lista qué partes del código fallarán silenciosamente si los datos de entrada no son ideales.
5. PROPUESTA DE MODERNIZACIÓN Y REFACTORIZACIÓN
- Reescribe el código en una versión moderna, limpia y tipada (según [OBJETIVO_FINAL]), aplicando principios SOLID, Clean Code y manejo robusto de excepciones.
- Incluye comentarios explicativos en el nuevo código.
6. SUITE DE PRUEBAS RECOMENDADA (Test Cases)
- Proporciona una lista de 4-6 casos de prueba esenciales (incluyendo Happy Path, Edge Cases extremos y entradas nulas/corruptas) para garantizar que una refactorización no rompa la compatibilidad.
💡 Cómo usar este prompt
Para obtener los mejores resultados, reemplaza las variables entre corchetes antes de enviar la consulta:
[LENGUAJE_ORIGEN]: Especifica el lenguaje y, si es posible, la versión aproximada o framework utilizado (ej. Java 6 con Struts 1 o Visual Basic 6).[SISTEMA_O_CONTEXTO]: Dale contexto de negocio a la IA (ej. Sistema legado que procesa pagos recurrentes los días 1 de cada mes).[OBJETIVO_FINAL]: Indica qué harás con el código (ej. Reescribir en Go usando Clean Architecture o Comprender para auditar cumplimiento de seguridad).[CODIGO_LEGACY]: Pega el fragmento de código sin modificar, incluso si tiene errores de sintaxis o formato roto.
🔥 Consejo Pro
Si el fragmento de código maneja lógica matemática o transformaciones complejas de datos y no estás seguro de qué produce exactamente, añade este modificador al final de tu prompt:
“Antes de generar el informe, simula la ejecución paso a paso del código utilizando una entrada de ejemplo ficticia pero realista:
Input: [Ejemplo de entrada]. Muestra una tabla de traza con los valores que van tomando las variables principales en cada iteración.”
Esto forzará a la IA a ejecutar un proceso de “Chain-of-Thought” (cadena de pensamiento) reduciendo drásticamente las alucinaciones sobre el comportamiento real del código.