Programación

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.

Prompt completo listo para copiar
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.

lenguaje o framework usado
fragmento de código a mejorar
qué quieres mejorar
límites técnicos que se deben respetar
tests existentes o casos que deben seguir funcionando

Evita incluir datos sensibles y revisa siempre el resultado antes de aplicarlo en una situación importante.

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.

Versión corta del prompt
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.
Versión avanzada del prompt
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.

Adaptación para ChatGPT
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.
Adaptación para Claude
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.
Adaptación para Gemini
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.
Ejemplo genérico de entrada

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.

Resultado esperado

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

  1. Pega un fragmento acotado y los casos de uso importantes.
  2. Indica qué no puede cambiar aunque el código sea feo.
  3. 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

prompt refactorizar códigorefactorizar código con ChatGPTmejorar código con IAprompt programación avanzadarefactor seguro IA

Prompts relacionados

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.