seegongsik
Mis palabras
Programación

Encontrar y arreglar lo que falla: depuración

Hasta la herencia construiste un programa bastante grande (lección 13). Pero un programa que construyes siempre falla en algún punto. Un error de tecleo, una suposición equivocada bastan. Fallar no es un fracaso; es algo de todos los días. Encontrarlo y arreglarlo con calma es la depuración.

01

Te señala dónde se detuvo

Cuando un programa falla,
no muere en silencio; se detiene en un punto.
Y señala con el dedo: 'aquí, esta línea.'
Ese señalar es la primera pista más valiosa.
Un error te dice primero 'dónde' se detuvo.

Paso 1
Paso 2
Paso 3
Paso 4
Paso 5

Pulsa ejecutar. Los pasos se encienden por turno y se detienen justo en el fallo.

Ves de un vistazo dónde se detuvo.
Ahora aparecerá un texto rojo en ese punto.
Mucha gente se asusta en cuanto lo ve.
Pero en realidad está de nuestro lado. Porque...

02

El texto rojo es una pista, no un reproche

Ese texto rojo no te está regañando.
Es una nota que dice 'qué no pudo entender'.
Suele llevar dos cosas: el lugar (dónde) y el tipo (qué).
Como 'esto no es un número', 'no existe ese nombre'.
Aprende a leerlo con calma y ya llevas la mitad.

:
Toca las partes para leerlas

Toca las partes del mensaje. El 'dónde' y el 'qué' se iluminan por separado.

Lee el mensaje como 'dónde' y 'qué',
y el texto que asustaba parece de pronto amable.
Pero el punto que señala no siempre es la causa real.
En un programa largo, ¿cómo acotamos rápido la causa?

03

Acota el rango por la mitad

Cuando no sabes dónde está el fallo,
no lo leas todo; mira el medio.
¿Va bien hasta aquí? Entonces el fallo está en la mitad de atrás.
Si no, está en la de delante. Parte por la mitad otra vez.
Este 'partir por la mitad' halla al culpable rápido, aun en código largo.

1
2
3
4
5
6
7
8

Pulsa 'comprueba el medio'. El rango se parte según vaya bien o mal.

Con unas pulsaciones el rango se acotó a un punto, ¿verdad?
Fijamos al culpable sin leerlo todo.
Ya hallada la causa, toca arreglar.
Pero al arreglar hay una trampa.

04

Cambia una cosa a la vez y comprueba

No toques todo a la vez solo porque ves una causa probable.
Si cambias cinco sitios al mismo tiempo,
aunque funcione, no sabrás cuál arreglo lo logró.
Y si surge un problema nuevo, no sabrás de quién es la culpa.
Así que cambia una cosa, ejecútala y observa.

Cambia solo una hipótesis y 'comprueba'. Cambia varias y se difumina qué lo arregló.

Cambiar de una en una deja clara la causa real.
Conocemos al culpable con exactitud, y lo arreglamos.
¿Ya terminamos? Aún queda un paso.
Porque 'parece arreglado' y 'está arreglado' no son lo mismo.

05

Tras arreglar, vuelve a ejecutar y comprueba

Solo creer que lo arreglaste no es el final.
Termina cuando vuelves a ejecutar y lo ves pasar hasta el final con tus propios ojos.
De paso, comprueba que nada que iba bien se rompió.
Esta vuelta de 'arreglar y reconfirmar'
es la línea entre adivinar y arreglar de verdad.

Paso 1
Paso 2
Paso 3
Paso 4
Paso 5

Pulsa 'volver a ejecutar'. El programa arreglado pasa en verde hasta el final.

Ahora sabemos construir (lecciones 1-13),
y encontrar y arreglar cuando se rompe (lección 14).
Pero estas letras que escribimos,
¿cómo se vuelven algo que una máquina real ejecuta?
Luego seguiremos el camino de nuestro texto al trabajo de la máquina.

En una líneaUn error es una pista que te dice 'dónde y qué' falló. Reduce la búsqueda por la mitad para hallar la causa, cambia solo una cosa, y vuelve a ejecutar para comprobar que pasa. El mensaje no es un reproche; es tu mejor pista.
Programación
¿Te fue útil? Apoyar seegongsik