Prompt para refactorizar código sin cambiar su comportamiento
Pide una refactorización explicada, con cambios pequeños, riesgos, pruebas y comparación de comportamiento.
Refactorizar no es reescribir por gusto. Este prompt obliga a conservar comportamiento, explicar cambios y proponer pruebas para evitar que una mejora estética introduzca errores.
Analiza el código como revisor senior enfocado en refactorización segura. Necesito mejorar legibilidad, estructura o mantenibilidad sin cambiar el comportamiento observable. Contexto técnico: - lenguaje: JavaScript con Node.js - codigo: función larga que procesa pedidos y calcula descuentos - objetivo: mejorar legibilidad y separar responsabilidades - restricciones: no cambiar la firma pública ni agregar dependencias - pruebas: casos con descuento, envío gratis y pedidos vacíos Método: 1. Resume qué hace el código actual y qué comportamiento debe conservarse. 2. Detecta problemas de diseño, nombres, duplicación, acoplamiento o complejidad. 3. Propón una estrategia de refactorización incremental antes de mostrar código. 4. Mantén firmas públicas, entradas, salidas y efectos laterales si las restricciones lo piden. 5. No agregues dependencias ni patrones innecesarios. 6. Señala riesgos y casos donde el comportamiento podría cambiar sin querer. Entrega: - diagnóstico de problemas principales. - plan de refactorización por pasos. - versión refactorizada del código si hay suficiente contexto. - explicación de cada cambio relevante. - pruebas mínimas para validar equivalencia de comportamiento. - lista de dudas si falta contexto técnico. Control final: Antes de terminar, compara explícitamente comportamiento antes y después. Si no puedes garantizar equivalencia, indícalo y pide los casos de prueba necesarios.
Personaliza el prompt
Completa los campos con datos genéricos o propios de tu caso. Si dejas un campo vacío, se usará el ejemplo seguro del campo para que el prompt no se rompa.
Versiones alternativas del prompt
Usa la versión corta para una respuesta rápida y la avanzada cuando necesites más control, criterios de calidad y revisión final.
Necesito refactorizar código con IA manteniendo comportamiento, pruebas y cambios seguros. Datos que debes usar: - lenguaje: JavaScript con Node.js - codigo: función larga que procesa pedidos y calcula descuentos - objetivo: mejorar legibilidad y separar responsabilidades - restricciones: no cambiar la firma pública ni agregar dependencias - pruebas: casos con descuento, envío gratis y pedidos vacíos Entrega una respuesta breve, accionable y lista para revisar. Mantén el tono adecuado al contexto, no inventes datos y señala cualquier información crítica que falte antes de aplicar el resultado.
Analiza el código como revisor senior enfocado en refactorización segura. Necesito mejorar legibilidad, estructura o mantenibilidad sin cambiar el comportamiento observable. Contexto técnico: - lenguaje: JavaScript con Node.js - codigo: función larga que procesa pedidos y calcula descuentos - objetivo: mejorar legibilidad y separar responsabilidades - restricciones: no cambiar la firma pública ni agregar dependencias - pruebas: casos con descuento, envío gratis y pedidos vacíos Método: 1. Resume qué hace el código actual y qué comportamiento debe conservarse. 2. Detecta problemas de diseño, nombres, duplicación, acoplamiento o complejidad. 3. Propón una estrategia de refactorización incremental antes de mostrar código. 4. Mantén firmas públicas, entradas, salidas y efectos laterales si las restricciones lo piden. 5. No agregues dependencias ni patrones innecesarios. 6. Señala riesgos y casos donde el comportamiento podría cambiar sin querer. Entrega: - diagnóstico de problemas principales. - plan de refactorización por pasos. - versión refactorizada del código si hay suficiente contexto. - explicación de cada cambio relevante. - pruebas mínimas para validar equivalencia de comportamiento. - lista de dudas si falta contexto técnico. Control final: Antes de terminar, compara explícitamente comportamiento antes y después. Si no puedes garantizar equivalencia, indícalo y pide los casos de prueba necesarios. Modo avanzado: 1. Antes de redactar, separa datos confirmados, supuestos razonables y datos que faltan. 2. Adapta la respuesta al objetivo concreto: refactorizar código con IA manteniendo comportamiento, pruebas y cambios seguros. 3. Explica el criterio que usaste para priorizar estructura, tono, profundidad y formato. 4. Entrega una versión principal y, cuando sea útil, una versión alternativa más breve o más práctica. 5. Añade una tabla de revisión con: decisión tomada, motivo, riesgo y cómo comprobarlo. 6. Incluye errores comunes específicos de esta tarea y cómo evitarlos. 7. Si detectas información insuficiente, haz hasta 3 preguntas; si puedes avanzar, declara los supuestos y continúa. 8. No inventes datos, cifras, fuentes, políticas, experiencia, funcionalidades ni resultados no aportados. 9. Usa únicamente la información proporcionada por estas variables: JavaScript con Node.js, función larga que procesa pedidos y calcula descuentos, mejorar legibilidad y separar responsabilidades, no cambiar la firma pública ni agregar dependencias, casos con descuento, envío gratis y pedidos vacíos. Formato avanzado de entrega: - resumen ejecutivo del enfoque. - resultado principal listo para usar. - versión alternativa o simplificada. - tabla de decisiones y riesgos. - puntos que conviene verificar manualmente. - checklist final antes de aplicar el resultado.
Adaptaciones para ChatGPT, Claude y Gemini
Estas variantes mantienen las mismas variables, pero ajustan la instrucción para aprovechar mejor el estilo de cada herramienta.
Usa ChatGPT para convertir estos datos en una respuesta estructurada, clara y lista para revisar. Objetivo: refactorizar código con IA manteniendo comportamiento, pruebas y cambios seguros. Datos disponibles: - lenguaje: JavaScript con Node.js - codigo: función larga que procesa pedidos y calcula descuentos - objetivo: mejorar legibilidad y separar responsabilidades - restricciones: no cambiar la firma pública ni agregar dependencias - pruebas: casos con descuento, envío gratis y pedidos vacíos Instrucciones: 1. Mantén la respuesta fiel a la información aportada. 2. No inventes datos, cifras, experiencia, políticas ni resultados. 3. Usa un formato claro y aplicable al caso. 4. Señala dudas o datos insuficientes antes de presentar conclusiones. 5. Pide una salida por secciones, una versión breve y una lista final de puntos a comprobar. Entrega el resultado final listo para copiar o adaptar.
Usa Claude para trabajar el contexto con especial atención a matices, límites y coherencia editorial. Objetivo: refactorizar código con IA manteniendo comportamiento, pruebas y cambios seguros. Datos disponibles: - lenguaje: JavaScript con Node.js - codigo: función larga que procesa pedidos y calcula descuentos - objetivo: mejorar legibilidad y separar responsabilidades - restricciones: no cambiar la firma pública ni agregar dependencias - pruebas: casos con descuento, envío gratis y pedidos vacíos Instrucciones: 1. Mantén la respuesta fiel a la información aportada. 2. No inventes datos, cifras, experiencia, políticas ni resultados. 3. Usa un formato claro y aplicable al caso. 4. Señala dudas o datos insuficientes antes de presentar conclusiones. 5. Pide que diferencie hechos aportados, supuestos razonables y datos que faltan antes de redactar. Entrega el resultado final listo para copiar o adaptar.
Usa Gemini para organizar la respuesta, comparar opciones y mantener una estructura fácil de seguir. Objetivo: refactorizar código con IA manteniendo comportamiento, pruebas y cambios seguros. Datos disponibles: - lenguaje: JavaScript con Node.js - codigo: función larga que procesa pedidos y calcula descuentos - objetivo: mejorar legibilidad y separar responsabilidades - restricciones: no cambiar la firma pública ni agregar dependencias - pruebas: casos con descuento, envío gratis y pedidos vacíos Instrucciones: 1. Mantén la respuesta fiel a la información aportada. 2. No inventes datos, cifras, experiencia, políticas ni resultados. 3. Usa un formato claro y aplicable al caso. 4. Señala dudas o datos insuficientes antes de presentar conclusiones. 5. Pide que marque elementos que deban verificarse manualmente si dependen de información externa o cambiante. Entrega el resultado final listo para copiar o adaptar.
Para qué sirve este prompt
- Cuando un fragmento funciona pero es difícil de mantener.
- Antes de dividir funciones largas o mejorar nombres.
- Si quieres pedir ayuda sin aceptar una reescritura total del código.
Caso de uso
Lenguaje: JavaScript. Código: función de 120 líneas para procesar pedidos. Objetivo: separar validación, cálculo y formato. Restricciones: no cambiar respuesta final ni agregar librerías. Pruebas: pedidos con descuento y sin stock.
Qué deberías obtener
Deberías obtener una propuesta de refactor con diagnóstico, versión mejorada del código, explicación de cambios, riesgos, pruebas recomendadas y una lista de comportamiento que debe permanecer igual.
Cómo usarlo paso a paso
- Pega un fragmento acotado y los casos de uso importantes.
- Indica qué no puede cambiar aunque el código sea feo.
- Compara la salida antes y después con pruebas reales.
Consejos de uso
- Pide cambios pequeños si el código es crítico.
- Solicita explicación antes del código si estás aprendiendo.
- No mezcles refactorización con nuevas funcionalidades en el mismo pedido.
Errores comunes
- Aceptar una reescritura completa sin pruebas.
- No indicar restricciones de compatibilidad.
- Confundir refactorizar con cambiar la lógica del negocio.
Checklist antes de usar el resultado
- El comportamiento esperado se mantiene explícitamente.
- Los cambios están justificados uno por uno.
- Incluye pruebas para confirmar que no se rompió nada.
Cómo adaptarlo mejor
- Incluye restricciones claras sobre dependencias, firma pública y compatibilidad.
- Pega casos de prueba o ejemplos de entrada y salida.
- Pide primero un diagnóstico si no estás seguro de qué cambiar.
Búsquedas relacionadas
Prompts relacionados
Diagnostica errores con hipótesis, pasos de reproducción, causa probable y solución mínima explicada.
ProgramaciónCrear tests unitariosDiseña tests unitarios con casos positivos, negativos y borde sin modificar la lógica original del código.
ProgramaciónExplicar código existenteObtén una explicación clara de qué hace un código, cómo fluye, qué riesgos tiene y qué probar antes de cambiarlo.
Preguntas frecuentes
¿Puede refactorizar sin romper tests?
Puede proponer cambios y tests, pero debes ejecutarlos en tu entorno antes de confiar en el resultado.
¿Conviene pedir una reescritura completa?
Solo si el código es pequeño o descartable. En sistemas reales suele ser mejor pedir cambios incrementales.