Refactorizar código manteniendo el comportamiento
Mejora la legibilidad y mantenibilidad de un fragmento de código sin cambiar lo que hace, con explicación de cada cambio. Pensado para ChatGPT, Claude y Microsoft Copilot. Incluye 4 variables personalizables y se copia gratis en un clic.
Intermedio · Código · Pendiente de revisión editorial
Prompt
Eres un experto en código limpio y refactorización segura en {{lenguaje}}.
Refactoriza el siguiente código con estos objetivos, por orden de prioridad: {{objetivos}}.
```
{{codigo}}
```
Reglas:
- El comportamiento observable debe ser idéntico (mismas entradas → mismas salidas y efectos).
- No añadas dependencias nuevas.
- Respeta el estilo del proyecto: {{estilo}}.
- Si la intención de alguna parte no está clara o el código parece contener un bug, señálalo en lugar de cambiarlo en silencio.
Formato de respuesta:
1. Problemas detectados (lista breve, con el motivo).
2. Código refactorizado completo.
3. Tabla «cambio → beneficio → riesgo».
4. Tests unitarios mínimos que demuestren que el comportamiento no cambia.Cómo usarlo
Refactoriza fragmentos acotados (una función o un módulo pequeño). Ejecuta tus tests antes y después de aplicar los cambios.
Ejemplo de uso
Objetivos: reducir anidamiento, nombres más claros y separar la lógica de validación.
Resultado de ejemplo
Suponiendo una función típica que calcula totales de pedidos con bloques repetidos:
1. Problemas detectados
- Nombres opacos (
d,t,x): obligan a leer todo para entender qué representan. - Lógica duplicada: el cálculo del IVA se repite en dos ramas.
- Número mágico
0.21sin explicación.
2. Código refactorizado
from decimal import Decimal
VAT_RATE = Decimal("0.21")
def line_total(price: Decimal, quantity: int) -> Decimal:
return price * quantity
def order_total(lines: list[tuple[Decimal, int]], apply_vat: bool = True) -> Decimal:
subtotal = sum((line_total(p, q) for p, q in lines), Decimal("0"))
return subtotal * (1 + VAT_RATE) if apply_vat else subtotal
Una sola expresión calcula el subtotal y el IVA se aplica en un único punto.
3. Cambio → beneficio → riesgo
| Cambio | Beneficio | Riesgo |
|---|---|---|
Extraer line_total | Se prueba por separado | Ninguno |
Constante VAT_RATE | El tipo se cambia en un sitio | Bajo |
| Eliminar rama duplicada | Menos código que mantener | Revisar redondeo |
4. Test mínimo
def test_order_total_keeps_behavior():
lines = [(Decimal("10"), 2), (Decimal("5"), 1)]
assert order_total(lines) == Decimal("30.25")
assert order_total(lines, apply_vat=False) == Decimal("25")Datos clave
- Categoría
- Programación y desarrollo · Refactorización
- Tipo de resultado
- Código
- Nivel
- Intermedio
- Pensado para
- ChatGPT, Claude y Microsoft Copilot
- Verificado en
- Pendiente de verificación editorial
- Variables
- Lenguaje, Objetivos, Código y Estilo / convenciones
- Idioma
- Español
- Precio
- Gratis, sin registro
- Actualizado
- 07/11/2026
Preguntas frecuentes
¿Cómo sé que la refactorización no ha roto nada?
Ejecuta tus tests actuales y los que genera contra las dos versiones. Si el código no tiene tests, añádelos y haz un commit antes de aplicar la refactorización.
¿Puedo pegar un archivo entero?
Sí, pero los resultados son más fiables con un módulo o unas pocas funciones cada vez. Con archivos muy largos la IA tiende a saltarse o resumir partes del código.
¿Para qué sirve este prompt?
Mejora la legibilidad y mantenibilidad de un fragmento de código sin cambiar lo que hace, con explicación de cada cambio.
¿Con qué herramientas de IA funciona?
Está pensado para ChatGPT, Claude y Microsoft Copilot. Todavía no lo hemos verificado en estas herramientas, por lo que los resultados pueden variar entre ellas.
¿Cómo personalizo el prompt?
Pulsa «Personalizar» y rellena las variables (Lenguaje, Objetivos, Código y Estilo / convenciones). El texto se actualiza al instante y después puedes copiarlo con un clic. Los valores se guardan solo en tu navegador.
¿Necesito experiencia para usarlo?
Es de nivel intermedio: conviene que conozcas el tema para aportar buen contexto y revisar el resultado con criterio.
¿Este prompt es gratis?
Sí. Todos los prompts de HomeCasa Prompts son gratuitos, sin registro ni suscripción. Puedes usarlos también en proyectos profesionales.
¿Puedo fiarme del resultado de la IA?
Úsalo como un borrador de calidad: revisa siempre datos, cifras y afirmaciones importantes antes de publicarlos o tomar decisiones.