Por qué está escrito así
Toca un bloque para ver su párrafo
Eres un desarrollador sénior que lleva años manteniendo bases de código heredadas en {{idioma especificado}}. Tu especialidad es organizar el código sin alterar su comportamiento; no agregas funcionalidades nuevas ni reescribes nada por preferencia personal.
La siguiente función es demasiado larga y difícil de leer. Divídela en unidades modulares y pequeñas, manteniendo intacto su comportamiento observable (las mismas entradas deben dar las mismas salidas, conservar las condiciones de error/excepción y mantener los mismos efectos secundarios como escrituras en base de datos o envíos).
Respeta estrictamente las siguientes {{condiciones a cumplir}}. Si se te ocurre una mejora que entre en conflicto con estas restricciones, no cambies el código; limítate a explicar por qué no se puede aplicar.
No reescribas todo el código de golpe. Primero, preséntame solo el plan de división en una tabla con las siguientes columnas: "Nombre de la nueva función · Responsabilidad · Parte del código original que extrae · Parámetros y valor de retorno". Cuando yo te responda "Continuar", genera el código de la primera función y espera a mi confirmación antes de pasar a la siguiente.
Antes de mostrar el plan, verifica paso a paso que el resultado final tras la división sea idéntico al de la función original. Si detectas condiciones ambiguas o puntos donde los valores podrían divergir, indícalos debajo de la tabla bajo el título "Advertencias".
Código: """ {{código fuente}} """
- Rol Quién responde ×1
- Información Lo que la IA necesita saber ×1
- Trabajo Qué hacer y cómo ×2
- Resultado Qué recibes y con qué forma ×2
El error más común al pedir refactorizaciones es decir: "Limpia esta función", recibir un bloque de código aparentemente impecable y descubrir más tarde que la lógica cambió. Para encontrar el fallo, terminas teniendo que comparar ambos códigos línea por línea.
Leer la explicación completa · 4 párrafos
Definir el rol como un desarrollador acostumbrado a mantener código heredado establece la actitud correcta: alguien que respeta la arquitectura existente y no cambia las cosas a su gusto. En la tarea, detallar el "comportamiento observable" (entradas, salidas, excepciones, efectos secundarios) evita que la IA mantenga el valor de retorno pero altere, por ejemplo, el orden de envío de un correo.
Las restricciones se definen como variables porque cada equipo tiene reglas distintas y cambiar la firma de una función puede romper llamadas en otros archivos. Pedirle que solo mencione el motivo si hay conflicto evita que la IA rompa las restricciones discretamente para mostrar código más "elegante".
Pedir un plan previo y esperar a la palabra "Continuar" es el núcleo de este método. Al recibir todo el código de golpe, la carga de revisión es excesiva y se suele confiar a ciegas. Dividir el proceso permite validar función por función y corregir nombres o alcances desde la etapa de planificación.
La columna "Parámetros y valor de retorno" en la tabla es crucial: evita que las nuevas funciones dependan de variables globales o contextos ocultos, obligando a definir límites claros y explícitos desde el inicio.
¿Términos desconocidos? Consulta Aha AI: role-prompting, output-format
Comparado con un mal ejemplo
Esta función es larguísima, refactorízala por favor.
(código pegado)
Genera de golpe un código completamente distinto donde alguna condición lógica puede haberse invertido en silencio. Al no haber restricciones claras, la IA podría importar librerías no deseadas o renombrar la función principal, rompiendo el resto de la aplicación. Sin explicaciones de los cambios, auditarlo es casi imposible y terminas descartándolo.
Variaciones
Para entender la función paso a paso antes de dividirla
Ideal para cuando recibes código ajeno o heredado. Prohibir sugerencias de mejora evita mezclar el análisis con la modificación.
Ver prompt
Enumera en orden, de arriba a abajo, lo que hace la siguiente función en {{idioma especificado}}. Escribe cada paso de forma breve con la estructura "Hace X acción" y detalla hacia dónde se desvía el flujo en cada condición o bifurcación. No propongas ninguna refactorización ni cambio de código.
""" {{código fuente}} """
Para eliminar únicamente código duplicado
Útil cuando solo quieres reducir duplicidades sin reestructurar toda la función. Sin el límite de "3 o más veces", la IA suele extraer bloques de apenas 2 líneas, complicando el código innecesariamente.
Ver prompt
Eres un desarrollador en {{idioma especificado}}. Analiza el siguiente código e identifica solo las partes que repitan la misma lógica. Enfócate únicamente en patrones que se repitan 3 o más veces, y omite aquellos cuya abstracción empeore la legibilidad. Para cada hallazgo, muestra: "Parte repetida · Número de repeticiones · Código extraído/modularizado", respetando las siguientes {{condiciones a cumplir}}.
""" {{código fuente}} """
Notas por modelo
Cuanto más larga sea la función, mayor es el riesgo de que la respuesta se corte si intentas refactorizarla toda de una vez. Solicita primero el plan y procesa un bloque a la vez.
Última actualización 2026-09-02 · ¿Has visto un error? Avísanos