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.21 sin 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

CambioBeneficioRiesgo
Extraer line_totalSe prueba por separadoNinguno
Constante VAT_RATEEl tipo se cambia en un sitioBajo
Eliminar rama duplicadaMenos código que mantenerRevisar 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.

Prompts relacionados