Análisis, generación, refactoring y debugging
Distinguir objetivos de trabajo y pedir evidencia concreta para diagnosticar y corregir sin reescribir de más.
Lectura: 14 min · Última revisión: 2026-10-03
Qué aprenderás
- Indicar si necesitás comprender, crear o cambiar software.
- Distinguir refactoring de reescritura y debugging de adivinación.
- Reunir evidencia suficiente antes de solicitar una corrección.
Cinco tareas que no son equivalentes
- Analizar: entender, describir o diagnosticar; no necesariamente modificar.
- Generar: crear una función, prueba, consulta o documento nuevo.
- Modificar: cambiar un comportamiento puntual con alcance explícito.
- Refactorizar: mejorar estructura sin cambiar el comportamiento observable, salvo indicación distinta.
- Debugging: identificar la causa de un fallo a partir de evidencia y proponer cómo corregirlo.
analizar ≠ corregir
refactorizar ≠ reescribir
debuggear ≠ adivinar
Un pedido como «arreglá y modernizá todo este módulo» mezcla diagnóstico, corrección y migración. Separá las metas o define cuál tiene prioridad.
Evidencia útil para debugging
Incluí, si están disponibles:
- error exacto y stack trace;
- pasos para reproducir;
- entrada que produce el fallo;
- salida esperada y salida real;
- entorno y versiones;
- fragmento mínimo relevante;
- qué ya se intentó y qué cambió.
No pidas al modelo que invente una causa si faltan los datos. Puede enumerar hipótesis y decir qué observación distinguiría una de otra.
Ejemplo
Tarea: analizar primero; no modificar todavía.
Entorno: C# / .NET Framework 4.7 / IIS.
Error: [mensaje literal y stack trace]
Pasos: [acción mínima que lo reproduce]
Esperado: guardar la publicación una vez.
Real: se duplica al reintentar después de un timeout.
Entrada: [método y acceso a datos relevante, sin secretos]
Salida: causa probable con evidencia, incertidumbres y datos adicionales necesarios.
Solo cuando se entienda el diagnóstico, pedir el cambio mínimo y especificar criterios, pruebas y partes que no deben modificarse.
Ejercicio
Elegí un fragmento con un error reportado. Escribí dos pedidos separados: primero uno de análisis que no permita editar; luego otro de corrección basado en el diagnóstico y acotado por criterios. Compará qué decisiones se pueden verificar en cada etapa.
Autoevaluación
¿Qué significa refactorizar conservando comportamiento? Reorganizar internamente el código sin alterar resultados observables, contratos o efectos que los usuarios y dependencias esperan, excepto si el alcance pide expresamente un cambio funcional.
Fuentes
- SitioDeRubros, Testing, seguridad y privacidad del código — revisión y validación de código asistido; consulta: 2026-10-03.
- Anthropic, Prompt engineering overview — definir criterios y comprobar comportamiento empíricamente; consulta: 2026-10-03.
- Microsoft, Documentación de C# — referencia primaria de lenguaje; consulta: 2026-10-03.
Seguir aprendiendo
- Unidad 11: escribir solicitudes técnicas respetuosas de versión y arquitectura.
- Unidad 13: aplicar las mismas distinciones al análisis de consultas SQL.