10 Momentos Famosos de la Depuracion con Pato de Goma
Historias reales, bugs reales y momentos reales donde explicar el problema en voz alta fue la unica herramienta que importo.
La depuracion con pato de goma no es una novedad. Diez momentos de la programacion, la ciencia, la medicina y la ingenieria donde explicar el problema en voz alta marco la diferencia. O donde no hacerlo costo millones.
El Pato Pragmatico Original
Andrew Hunt y David Thomas describen a un programador que depuraba codigo explicandoselo a un pato de goma en su escritorio. The Pragmatic Programmer le dio nombre a la tecnica y convirtio una costumbre peculiar en un metodo reconocido por la industria. Cada pato en cada escritorio de desarrollador tiene su origen aqui.
Linus Torvalds y el Pinguino que Escucha
Torvalds ha descrito como revisa parches del kernel leyendolos en voz alta y explicandose la logica a si mismo antes de aceptarlos. No es un pato, tecnicamente. Pero el mismo principio: si no puedes explicar el cambio, el cambio no esta listo. Miles de contribuidores han visto sus parches rechazados porque la logica no sobrevivio a la narracion.
La Regla de Feynman: "Explicaselo a un Estudiante de Primer Ano"
Feynman probaba si entendia algo intentando explicarlo en lenguaje simple. Si no podia simplificarlo, no lo entendia de verdad. Mismo mecanismo que el pato. El pato es el estudiante hipotetico de primer semestre. El resultado es el mismo: explicar en voz alta expone lo que no sabes.
El Bug de la NASA que Necesitaba un Pizarron, No una Computadora
El Mars Climate Orbiter se perdio porque un equipo usaba unidades imperiales y el otro unidades metricas. El codigo era tecnicamente correcto en ambos lados. El bug estaba en la suposicion. Si alguien le hubiera explicado a un pato el flujo de datos de un sistema a otro, la discrepancia de unidades habria salido a la luz durante la narracion. En cambio, salio a la luz a 460 millones de kilometros de la Tierra.
Rubber Ducking en Basecamp
El equipo de 37signals (ahora Basecamp) se hizo conocido por alentar a los desarrolladores a escribir su problema completo antes de pedir ayuda. Muchas veces, el acto de escribir la pregunta revelaba la respuesta. Jason Fried ha descrito este patron: la solicitud de ayuda que se resuelve sola. Es depuracion con pato de goma a traves de un mensaje de Campfire.
El Efecto Pato Accidental de Stack Overflow
Los desarrolladores bromean con que resuelven su propio bug mientras escriben la pregunta en Stack Overflow. Esto pasa tan seguido que tiene un nombre informal: el "efecto pato de goma". El formulario de preguntas te obliga a declarar el comportamiento esperado, el comportamiento real y la reproduccion minima. Para cuando terminas de redactarlo, ya lo depuraste tu mismo.
El Cirujano que Narra los Procedimientos
The Checklist Manifesto de Atul Gawande describe cirujanos que narran cada paso de un procedimiento antes de realizarlo. El equipo confirma. El mecanismo es identico al pato. Los riesgos son mas altos que un TypeError, pero el principio es el mismo: decirlo en voz alta atrapa lo que el escaneo silencioso pasa por alto.
El Desastre de Knight Capital
Knight Capital perdio 440 millones de dolares en 45 minutos por un error de despliegue: codigo viejo fue reactivado accidentalmente en uno de ocho servidores. La causa raiz fue un proceso de despliegue manual que nadie habia narrado de principio a fin. Un recorrido con el pato de "que pasa cuando desplegamos en cada servidor" habria detectado que solo siete de los ocho servidores tenian el codigo nuevo.
El Companero Silencioso del Pair Programming
El pair programming funciona en parte porque el navegador (el que no esta tecleando) debe entender el codigo que se esta escribiendo. El conductor explica. El navegador escucha. Pero muchos practicantes de pair programming reportan que lo que ayuda es la explicacion, no la retroalimentacion. El navegador podria ser reemplazado por un pato y la tecnica seguiria atrapando la mayoria de los bugs. El pato, sin embargo, no discute sobre nombres de variables.
La Migracion Anual de Patos del Advent of Code
Cada diciembre, cientos de miles de desarrolladores se enfrentan a los puzzles del Advent of Code. Los hilos de Reddit se llenan de comentarios como "lo resolvi explicandole mi enfoque a mi gato" y "le hice rubber ducking y encontre el off-by-one en la parte 2". El evento anual se ha convertido en una celebracion informal de la depuracion con pato de goma, con desarrolladores publicando fotos de sus patos de escritorio junto a sus soluciones.
Quieres aprender la tecnica tu mismo? Lee la explicacion completa de la depuracion con pato de goma o ve directo a la guia de 5 pasos para principiantes.
La Serie de Libros
El Pato y la Inyeccion es el Libro 1 de la serie de libros ilustrados de vibe coding Depuracion con Pato de Goma. Proximamente.
Ver la Serie Completa