La línea de la muerte

17 Oct
2009

No falla, todos los que desarrollamos software la conocemos. Sabemos que está ahí, camuflada entre las sombras, esperando a que te despistes para hacer su aparición y complicarte la vida. Se esconde entre muchas otras como ellas, con disimulo, intentando pasar desapercibida, como si de un Wally cualquiera se tratara, aparentando no hacer nada pero, a su vez, amargando la vida de aquel que tiene que encontrarla y darle caza.

Y no te engañes, que en tu código no la veas no significa que no esté. Si la línea es joven e incauta aparecerá pronto y podrás cortarle las alas antes de que sus efectos sean devastadores, pero si es madura y resabida, si sabe cómo ocultarse, cómo hacer daño y le das la oportunidad, verás un efecto mariposa completo e incontrolado manifestándose en tu código, y descubrirás cómo lo que aparentemente es una línea de código inofensiva e inocente se manifiesta en un problema de tres pares de dolores de cabeza.

Me refiero, cómo no, a la línea de la muerte.

Sus orígenes pueden ser varios: un experimento que alguien hizo sobre el código y que borró a medias, un copypaste del cual no se han borrado cosas “por si acaso“, un despiste a la hora de desarrollar, un pandereta que toca lo que no debe, no conocer bien la tecnología que estamos utilizando, etc. En definitiva, es una pequeña porción de código ¡a veces de una sola línea! que a pesar de su inocente y frágil aspecto consigue que nuestro software cobre vida propia y que su única misión en la misma sea fastidiar la nuestra.

Su momento “de fama”, en el cual comienza el final de su vida, llega cuando percibimos sus efectos: nuestros queridos y adorados bugs sin explicación aparente, dignos de un programa de Iker Jimenez. En ese momento deja de ser una dulce e inocente línea de código para convertirse en un macguffin en toda regla, al cual debemos dar caza cuanto antes por hacer las cosas bien y, sobre todo, por salud mental.

Darle matarile a una línea de la muerte, dada su naturaleza esquiva, es complicado. Puedes estar horas, e incluso días, leyendo código, depurando, mostrando resultados paso a paso, probando partes de la aplicación de manera separada, etc. que no la encontrarás. A medida que pasan las horas sin resultados, el desarrollador que se está peleando con el código por encontrar una de estas dichosas líneas se enfada, se frustra, se pone nervioso, se desespera, dice palabrotas en voz baja, habla para sí mismo, ¡a veces hasta canta canciones casposillas! ¿a quién no le ha pasado alguna vez esto?. Una vez se ha detectado el problema y se manda a la dichosa línea de la muerte “al otro barrio”, el desarrollador suele hablar con sus semejantes, ya con una sonrisa de oreja a oreja:

- “hey, mira qué chorrada era, resulta que …”

Se generan endorfinas, aparecen cervatillos y mariposillas, suenan cánticos de pájaros, el cielo vuelve a ser azul y todo vuelve a tener sentido. Sayonara, baby.

Pero los efectos de la línea de la muerte van más allá del código y de la aplicación, ¡incluso una vez que ésta ha desaparecido! El problema que aparece ahora es cómo justificar el haber dedicado tantas horas a borrar una triste línea que además no debería haber estado desde el principio.

Recuerdo que una vez alguien me dijo:

Hay veces en las que los errores se resuelven simplemente quitando código

Y qué razón tenía.

Print

Deja tu comentario


subir