Un patrón común para localizar un error sigue este script:
- Observe la rareza, por ejemplo, sin salida o un programa colgado.
- Localice el mensaje relevante en el registro o la salida del programa, por ejemplo, "No se pudo encontrar Foo". (Lo siguiente solo es relevante si esta es la ruta tomada para localizar el error. Si un seguimiento de la pila u otra información de depuración está disponible, esa es otra historia).
- Busque el código donde se imprime el mensaje.
- Depure el código entre el primer lugar donde Foo ingresa (o debería ingresar) la imagen y dónde se imprime el mensaje.
El tercer paso es donde el proceso de depuración a menudo se detiene porque hay muchos lugares en el código donde Could not find {name}
se imprime "No se pudo encontrar Foo" (o una cadena con plantilla ). De hecho, varias veces un error de ortografía me ayudó a encontrar la ubicación real mucho más rápido de lo que lo haría de otra manera: hizo que el mensaje fuera único en todo el sistema y, a menudo, en todo el mundo, lo que resultó en un golpe de motor de búsqueda relevante de inmediato.
La conclusión obvia de esto es que deberíamos usar ID de mensaje únicos a nivel mundial en el código, codificándolo como parte de la cadena del mensaje y posiblemente verificando que solo haya una aparición de cada ID en la base del código. En términos de mantenibilidad, ¿cuáles cree esta comunidad que son los pros y los contras más importantes de este enfoque, y cómo implementaría esto o de lo contrario se aseguraría de que la implementación nunca sea necesaria (suponiendo que el software siempre tenga errores)?