4. Checklist de Validación ✅
¿Por qué necesitas un checklist?
El código generado por IA puede funcionar visualmente y aun así contener errores silenciosos, vulnerabilidades de seguridad o malas prácticas que solo se revelan en producción. Un checklist sistemático te protege de aceptar código a ciegas.
"Que compile y que funcione no son sinónimos de que sea seguro, eficiente o mantenible."
El Checklist de 4 Preguntas
Antes de incorporar cualquier código sugerido por una IA a tu proyecto, hazte estas 4 preguntas en orden:
1️⃣ ¿Copia o procesa datos sin validar?
Verifica que el código compruebe tipos de datos, valores nulos,rangos válidos y longitudes máximas antes de procesar cualquier entrada.
2️⃣ ¿Modifica la estructura de datos original?
Busca mutaciones inesperadas: métodos como .sort(), .pop(),.splice() o del lista[i] que alteren la fuente de datos original. En frameworks reactivos (React, Vue), mutar props o estados directamente genera bugs difíciles de rastrear.
3️⃣ ¿Maneja excepciones específicas?
Un except Exception o un catch(e) genérico silencia todoslos errores, incluso los que no esperas. Verifica que se atrapen excepciones concretas (ValueError, KeyError, TypeError).
4️⃣ ¿Complejidad clara y razonable?
¿La solución tiene una complejidad temporal proporcional al problema? Un bucle dentro de otro sobre la misma colección (O(n²)) puede ser aceptable para 10 elementos pero catastrófico para 100.000.
Ejemplo práctico: Aplicando el checklist
Copilot te sugiere esta función para eliminar duplicados de una lista de productos:
Apliquemos el checklist:
| Pregunta | Análisis | Veredicto |
|---|---|---|
| 1. ¿Valida datos? | No verifica si productos es None o si contiene tipos mezclados. | ⚠️ Falta |
| 2. ¿Muta el original? | No. Crea una lista nueva resultado, la original queda intacta. | ✅ OK |
| 3. ¿Excepciones? | No hay try/except, pero tampoco hay operaciones que puedan fallar (salvo entrada nula). | ⚠️ Parcial |
| 4. ¿Complejidad? | in resultado recorre la lista en cada iteración: es O(n²). Con un set auxiliar bajaría a O(n). | ⚠️ Mejorable |
Versión mejorada tras aplicar el checklist:
Responsabilidad profesional: ¿De quién es el código?
Un punto fundamental que debes interiorizar:
⚖️ Principio de Responsabilidad
La responsabilidad sobre el código siempre recae en la persona que lo desarrolla, no en la IA que lo sugirió. Si el código causa una brecha de seguridad, un fallo en producción o un error de lógica, el responsable eres tú.
Utilizar IA de forma ética implica:
- Comprender el código generado antes de integrarlo.
- Proteger los datos del proyecto y sus usuarios (lección 2).
- Mantener un rol activo en el proceso de aprendizaje y toma de decisiones.
- Documentar qué partes contaron con asistencia de IA y cómo se validaron.
Transparencia: Documentar el uso de IA
En entornos académicos y profesionales, es importante declarar qué herramientas usaste. No para "castigar" su uso, sino para demostrar que entiendes lo que entregas:
Preguntas de reflexión final
🧠 Reflexiona
- ¿Cuál es el principal riesgo de aceptar código de Copilot sin comprenderlo?
- Menciona dos acciones concretas para proteger datos al programar con IA.
- ¿Cómo asegurar transparencia y no dependencia en tu informe o documentación?
✅ Desafío Final: Revisa código de IA
Pídele a tu asistente de IA favorito que genere una función para calcular el descuento de un producto (recibe precio y porcentaje). Aplica el checklist de 4 preguntas, documenta tus hallazgos y mejora el código si encuentras problemas.
👁️ Ver criterio de evaluación
Tu análisis debería cubrir:
1. ¿Valida que precio y porcentaje sean positivos y numéricos?
2. ¿Qué pasa si porcentaje es mayor a 100?
3. ¿Maneja excepciones si le pasas un string?
4. ¿El cálculo es directo (O(1)) o innecesariamente complejo?


