Desarrollo de Software con IA

Decisiones y repeticiones: condiciones, loops y el flujo de control

Seguir el flujo de un fragmento con si/sino y repeticiones y predecir qué hará.

El código no se ejecuta en orden: toma caminos

Un programa es un laberinto con dos mecanismos: condiciones (escoge un camino según si algo es verdadero o falso) y loops (repite un tramo mientras se cumpla una condición). Los errores más frecuentes de la IA no están en los datos: están en el laberinto — el camino que no previó o la repetición que no paró a tiempo.

[Dos siluetas del laberinto]

Esta actividad interactiva ('Explicacion visual') requiere el motor completo de Lumbre. El contenido estatico se muestra arriba; para la experiencia interactiva, visita la version online de este objeto.

Un fragmento para rastrear con el dedo

Predice antes de ejecutar
const mensajes = ["hola", "", "adios", ""];      // 4 elementos, dos vacios\nlet visibles = [];\n\nfor (const texto of mensajes) {                  // LOOP: recorre la lista\n  if (texto.length > 0) {                        // CONDICION: solo si no esta vacio\n    visibles.push(texto);                        //   guardalo en visibles\n  }\n}\n// visibles queda ["hola", "adios"]

Las tres fallas de flujo que comete la IA

Estas tres explican la mitad de los bugs que verás. En tu prompt de corrección, nombra la sospecha: la IA corrige mejor con una hipótesis que con «está raro».
FallaCómo se veQué preguntar
Caminos que no previósolo escribió el «si», no el «sino»¿Qué pasa si el dato llega vacío / nulo / sin permiso?
Loop que no terminala app se congela o repite infinitamente¿Cuál es la condición exacta de parada?
Condición invertidamuestra lo que debía ocultar y al revés¿Este if hace lo correcto cuando es VERDADERO?

Prueba

Con el fragmento de ejemplo, ¿cuántas vueltas da el loop y cuántos elementos quedan en «visibles»?

Si un usuario reporta «la pantalla se congela al abrir la lista», sospechar de un loop sin condición de parada es una hipótesis razonable.

Detecta la condición invertida

Pediste que SOLO los administradores vean el botón de borrar. Señala la línea que hace justo lo contrario:

  1. function accionesContacto(usuario) {
  2. const botonBorrar = null;
  3. if (!usuario.esAdmin) {
  4. return { botonBorrar: "visible" };
  5. } else {
  6. return { botonBorrar: null };
  7. } }

Identifica la linea con error.

Toma una regla de negocio de tu proyecto («si el stock es cero, mostrar agotado») y pide a la IA el fragmento. Rastrea su flujo con el dedo usando un dato normal y un dato borde. ¿Sobrevive el borde?

PistaPredecir el resultado sin ejecutar es el primer superpoder del director de código.