Muchas veces hablamos de bugs, debug, debugging; pero ¿Sabemos qué es exactamente y cómo llevarlo a cabo?

Vamos a arrancar con algo de teoría…

Bug es un término en inglés, cuya traducción literal es insecto. La historia cuenta que alguien encontró un insecto dentro de un ordenador y estaba ocasionando problemas. De ahí, cuenta la leyenda, se comenzó a utilizar este término para referirse a un problema informático.

Sabiendo que un bug es un problema informático, entonces deducimos que debug o debugging es el nombre que se le da al proceso de encontrar y eliminar estos problemas.

De la teoría a la práctica…

Hasta acá venimos espléndido pero… Cómo actuamos cuando alguien nos llama de urgencia y nos comenta que hay un problema que solucionar urgente. Muchas veces a todos nos pasa que no sabemos como proceder ante ciertas urgencias ni mucho menos por donde comenzar.

Es entonces que le paso a comentar algunas buenas prácticas que aplico para poder dar con el error y resolverlo.

1. Como siempre decimos en programación, si no podemos reproducir el error, no hay bug.

Entonces el primer paso es detectar el error y poder reproducirlo. Es imposible solucionar algo si no sabemos quién, cómo ni donde se produce.

Podemos apoyarnos en logs de errores si es que nuestra aplicación cuenta con ellos, encontrar el momento en qué se produce y mediante qué circunstancia. Si es una web o aplicación, navegarla con el inspector para monitorear los llamados a apis, urls y ver sus respuestas, etc.

Hay miles de maneras, pero que quede claro que debemos detectar el error y reproducirlo.

2. Analizar el bug y evaluar posibles soluciones

Una vez detectado y reproducido el error, es momento de arremangarse y sumergirse en el código. Como antes mencionaba, es necesario que recaben toda la información que tengan a su alcance, más es mejor; logs de errores de la aplicación, servidor, lo que sea que nos pueda proveer información útil sobre el error que estamos teniendo.

Luego resta evaluar posibles soluciones que pueden venir de la mano con actualizaciones, en caso de que sean dependencias del proyecto, o bien puede ser algo que resolvimos mal en su momento por apuros, o bien algo que no tuvimos en cuenta cuando programamos. Entonces revisamos el código y evaluamos formas de resolverlo. En el caso que la solución sea compleja, siempre analizar pros y contras, y en base a eso tomar la decisión. Tengamos presente que si el error es productivo e involucra datos, mientras más tiempo nos demoremos en solucionarlo, más complejo se volverá el problema.

3. Cruzar los dedos y recurrir a la fe

Luego que ya tenemos detectado el bug y seleccionada la solución. Manos a la obra y a resolver el error. Antes de comenzar a hacer cualquier cambio siempre es recomendable:

  1. Colocar el sitio en mantenimiento
  2. Hacer respaldo de archivos y datos

Esto es imprescindible ya que si nuestra solución no funciona como debería, podamos optar por volver al inicio sin embarrar más la cancha.

Estos son pasos que a diario me ayudan a lidiar con los errores que van surgiendo en cada aplicación. Uno aprende de los errores porque lo que ya habiendo equivocado el camino tantas veces, opté por compartirlo y que ayude a quién recién se inicia en este camino de la programación.