Hay un excelente libro que leí sobre este tema llamado Por qué fallan los programas , que describe varias estrategias para encontrar errores que van desde la aplicación del método científico para aislar y resolver un error, hasta la depuración delta. La otra parte interesante de este libro es que elimina el término 'error'. El enfoque de Zeller es:
(1) Un programador crea un defecto en el código. (2) El defecto causa una infección (3) La infección se propaga (4) La infección causa una falla.
Si desea mejorar sus habilidades de depuración, le recomiendo este libro.
En mi propia experiencia personal, he encontrado muchos errores en nuestra aplicación, pero la administración simplemente nos presiona para obtener nuevas funciones. Con frecuencia escuché "Encontramos este error nosotros mismos y el cliente aún no lo ha notado, así que déjelo hasta que lo hagan". Creo que ser reactivo en lugar de proactivo en la corrección de errores es una muy mala idea, ya que cuando llega el momento de solucionarlo, tiene otros problemas que deben resolverse y más funciones de administración quieren salir de la puerta lo antes posible, por lo que queda atrapado en un círculo vicioso que puede conducir a una gran cantidad de estrés y agotamiento y, en última instancia, a un sistema lleno de defectos.
La comunicación también es otro factor cuando se encuentran errores. Enviar un correo electrónico o documentarlo en el rastreador de errores está bien, pero según mi propia experiencia, otros desarrolladores encuentran un error similar y en lugar de reutilizar la solución que colocaste para arreglar el código (ya que lo han olvidado por completo) ), agregan sus propias versiones, por lo que tiene 5 soluciones diferentes en su código y, como resultado, se ve más hinchado y confuso. Por lo tanto, cuando solucione un error, asegúrese de que algunas personas lo revisen y le den su opinión en caso de que hayan solucionado algo similar y hayan encontrado una buena estrategia para tratarlo.
Limist mencionó el libro, El programador pragmático, que tiene material interesante sobre la corrección de errores. Usando el ejemplo que di en el párrafo anterior, miraría esto: Software Entrophy , donde se usa la analogía de una viuda rota. Si aparecen dos ventanas rotas, su equipo puede mostrarse apático para solucionarlo a menos que adopte una postura proactiva.