A través de Hacker News, me llega este artículo, una revisión del libro Debugging: 9 rules
Ya me lo he apuntado en mi lista de lecturas porque tiene una muy buena pinta
Como resumen, ahí van las 9 reglas del libro, traducidas literalmente del artículo, no hay nada mío en ellas:
- Entiende el sistema: Lee el manual, lee todo en profundidad, conoce los fundamentos, conoce la hoja de ruta, entiende tus herramientas y busca los detalles
- Haz que falle: Hazlo de nuevo, empieza por el principio, estimula el fallo, no simules el fallo, encuentra la condición no controlada que lo hace intermitente, grábalo todo y encuentra la firma de los fallos intermitentes, no confíes demasiado en las estadísticas, sabe que «eso» puede pasar, y nunca tires una herramienta de depuración
- Deja de pensar y mira (obtén datos primero, no hagas reparaciones complicadas basándote en suposiciones): mira el fallo, fíjate en los detalles, incorpora instrumentación, no tengas miedo profundizar, ten cuidado con Heisenberg e intenta adivinar solo para centrar la búsqueda
- Divide y vencerás: acota la búsqueda con aproximaciones sucesivas, obtén el rango, determina en qué lado del fallo te encuentras, utiliza patrones de prueba fáciles de detectar, empieza por lo malo, arregla los fallos que conozcas y arregla primero el ruido.
- Cambia una cosa cada vez: aísla el factor clave, entiende qué falla antes de arreglarlo, cambia una prueba cada vez, compárala con una buena y determina qué ha cambiado desde la última vez que funcionó
- Lleva un registro de auditoría: anota lo que hiciste, en qué orden y qué ocurrió como resultado, comprende que cualquier detalle podría ser el importante, correlaciona los acontecimientos, comprende que los registros de auditoría para el diseño también son buenos para las pruebas, ¡y anótalo!
- Comprueba el enchufe: cuestiona tus suposiciones, empieza por el principio y prueba la herramienta
- Obtén una nueva visión: pide ideas nuevas (explicar el problema a un patito de goma puede ser útil), recurre a expertos, escucha la voz de la experiencia, recuerda que hay ayuda a tu alrededor, no seas orgulloso/a, informa de los síntomas (no de las teorías) y comprende que no tienes por qué estar seguro al 100%
- Si no lo has arreglado, no está arreglado: comprueba que realmente está solucionado, comprueba que realmente es tu solución la que lo ha solucionado, reconoce que nunca desaparece por sí solo, soluciona la causa y soluciona el proceso