Cómo refactorizar código conservando su comportamiento.
La refactorización debe conservar el comportamiento observable salvo que se pida explícitamente un cambio. Identifica pruebas o ejemplos capaces de detectar diferencias involuntarias.
Adapta el flujo de trabajo a tu tarea.
Define el comportamiento que debe mantenerse e identifica la duplicación o complejidad que abordarás. Haz un cambio estructural acotado y compara casos conocidos, errores y efectos secundarios con el original.
- Qué aportas
- Código y cambio estructural solicitado.
- Qué obtienes
- Borrador refactorizado que conserva el comportamiento previsto.
Mira la entrada y el resultado.
Entrada y salida ilustrativas · ejemplo didáctico, no una ejecución de WebAct en directo
Ejemplo campo
Refactor this Python function without changing its result or empty-name error:
def label(name, loud):
if loud:
if not name:
raise ValueError("name required")
return name.upper()
if not name:
raise ValueError("name required")
return name.lower()Ejemplo completo
def label(name, loud):
if not name:
raise ValueError("name required")
return name.upper() if loud else name.lower()
Checks: label("Ada", True) → "ADA"; label("Ada", False) → "ada". An empty string raises ValueError("name required") in both modes.Carga esta entrada en el prompt y cópialo en WebAct para probar la tarea. Tu resultado puede diferir del ejemplo.
Decisiones y solución de problemas.
¿Puede una refactorización cambiar intencionadamente el comportamiento de los errores?
Solo si ese cambio forma parte de la solicitud. De lo contrario, consérvalo o sepáralo en una decisión posterior explícita.
¿Por qué extraer código compartido altera el resultado de una rama?
Comprueba el orden de ejecución, el estado y las condiciones específicas de la rama. Un código parecido puede trabajar bajo supuestos diferentes.
Pruébalo con tu propia fuente.
Sustituye el ejemplo por tu material en el prompt. Conserva los requisitos que necesites y copia la tarea en WebAct.
Personalizar y copiar la tarea ↑