Saltar al contenido

La depuración del patito de goma

Hoy me decidí a escribir una entrada en el blog hablando de tan importante técnica pues veo que sigue siendo una desconocida para programadores e informáticos del mundo. Porque, lo del título, si bien parece el nombre de un episodio de la serie The Big Bang Theory en realidad se trata de una técnica de depuración de errores de software.

Vale aclarar que si bien está pensada originalmente para depurar código, a lo largo de los años me ha resultado útil para depurar errores de configuración en redes, aplicaciones o despliegues de sistemas operativos, por lo que en lo que a mí respecta es una técnica de depurado con múltiples usos.

¿De qué se trata?

Antes de correr test unitarios, ejecutar el software con un depurador u otros métodos del estilo es común leer varias veces el código para encontrar el bug; podemos entender el método de depuración del patito de goma como una derivación de esto. Se trata de explicarle a alguien tu código, contándole línea por línea qué debe hacer este código, de esta forma iremos revisando la lógica del código y en determinado momento encontraremos una línea donde se realiza algo que no es lo esperado o quizás un simple error de tipeo. Sí, como imaginarán, la idea es explicarle tu código a un pato de goma.

¿Por qué un pato de goma?

Es un animal muy noble, su existencia es universal y en general no tiene problemas en pasar largas jornadas en nuestro puesto de trabajo esperando a ser consultado respecto a problemas en nuestro código.

Mi pato de goma, siempre al pie del monitor esperando la siguiente consulta.

Nota: Se sospecha que otros animales, objetos inanimados o inclusive un compañero de trabajo pueden ser igual de efectivos, pero esto no lo puedo comprobar.

El orígen

El nombre del método de depuración es una referencia a una historia del libro The Pragmatic Programmer en dónde un programador le explica línea por línea su código a un pato de goma.

Si gustan de saber un poco más, en este sitio web se explica el método paso a paso y se responden preguntas tales como «Si los patos son tan inteligentes, ¿por qué no dejamos que los patos hagan todo el trabajo?».