Número 21
3 de agosto de 2022

Os erros máis difíciles

Non é por fachendear nin nada, pero dáseme bastante ben investigar erros e atopar a súa causa. É un tema no que penso bastante e que creo que é importante, ata tal punto que lle adiquei a primeira Folla.

Como ben sabedes, buscar a causa dun erro non sempre é un proceso rápido. Ás veces ocorre que si: vexo o erro, atino coa causa case inmediatamente e arránxoo de seguido, pero esa é a excepción. Normalmente leva unhas poucas horas, algunhas veces leva días e, en ocasións, semanas.

Un debuxo con diversos invertebrados camuflados.Moitos bechos son ben malos de atopar.

Hai unha cousa que observei moitas veces: canto máis difícil de atopar é a causa dun erro, normalmente resulta ser unha parvada máis grande. Moitos días enteiros teño eu pasado mallando nun erro, dándolle voltas á esquerda e á dereita, probando isto e aquilo, para descubrir, finalmente, que pasara por todo iso porque eu esquecera poñer un punto e coma.

Iso, por non falar de todas esas veces nas que cambio algo no programa e o erro non desaparece; fago outro cambio e o erro segue aí e, despois de dúas ou tres roldas de cambios, decátome de que estaba a facer todos os meus cambios nun repositorio e as probas noutro distinto.

Moitas veces digo que os erros máis parvos son sempre os máis difíciles de atopar porque os programadores buscamos erros intelixentes, non erros parvos. Sempre temos os ollos postos nos erros grandes: condicións erradas, “off by one” ou funcións que poidan producir valores inesperados, pero pasamos totalmente por alto os erros ortográficos e tipográficos, como o punto e coma que eu esquecera poñer.

Outras veces estamos convencidos de que o erro ten que estar nun lugar particular do programa cando, na realidade, reside nunha parte distinta. Xa me ocorreu varias veces que había un erro pero, por máis que miraba, non atopaba ningunha tacha no meu código e os tests unitarios funcionaban ben, e no final resultou que alguén entendera mal a documentación da API e os obxectos que usaba nos tests non funcionaban igual que os obxectos que usaba en produción.

Escribín todo iso para dicirvos que non vos dea vergoña cando un erro vos paralice durante varios días e no final resulte ser un erro estúpido. Isto pásanos a todos e o noso nivel de experiencia non nos protexe diso. Incluso diría que, canta máis experiencia teñamos, máis parvos van ser os erros que nos fagan sentir que somos uns paspáns.

A ilustración desta Folla procede de “Brehm’s animal life”.