Pourquoi les programmes échouent , un excellent livre que j'ai lu à ce sujet , qui présente diverses stratégies pour détecter les bogues, allant de l’application de la méthode scientifique pour isoler et résoudre un bogue au débogage delta. L'autre partie intéressante de ce livre est qu'il supprime le terme "bug". L'approche de Zeller est la suivante:
(1) Un programmeur crée un défaut dans le code. (2) Le défaut provoque une infection (3) L'infection se propage (4) L'infection provoque une défaillance.
Si vous souhaitez améliorer vos compétences en matière de débogage, je recommande vivement ce livre.
D'après mon expérience personnelle, nous avons trouvé beaucoup de bugs dans notre application, mais la direction nous presse simplement pour obtenir de nouvelles fonctionnalités. J'ai souvent entendu "Nous avons trouvé ce bug nous-mêmes et le client ne l'a pas encore remarqué, alors laissez-le jusqu'à ce qu'ils le fassent". Je pense qu'être réactif, opposé à proactif dans la correction des bugs, est une très mauvaise idée, car lorsque le moment est venu de résoudre le problème, vous avez d'autres problèmes à résoudre et une gestion plus riche en fonctionnalités que vous souhaitez gérer dès que possible. dans un cercle vicieux qui peut engendrer beaucoup de stress et d’épuisement professionnel et, en fin de compte, un système défectueux.
La communication est également un autre facteur lorsque des bugs sont trouvés. Envoyer un courrier électronique ou le documenter dans l'outil de suivi des bogues, ça va, mais, dans ma propre expérience, d'autres développeurs trouvent un bogue similaire et préfèrent ne pas réutiliser la solution que vous avez proposée pour corriger le code (car ils ont tout oublié. ), ils ajoutent leurs propres versions, de sorte que vous avez 5 solutions différentes dans votre code et que cela a l'air plus gonflé et déroutant. Par conséquent, lorsque vous corrigez un bogue, assurez-vous que quelques personnes l'examinent et vous transmettent des commentaires au cas où elles auraient corrigé un problème similaire et ont trouvé une bonne stratégie pour le résoudre.
Limist a mentionné le livre The Pragmatic Programmer, qui contient des informations intéressantes sur la correction des bogues. En utilisant l'exemple que j'ai donné dans le paragraphe précédent, je regarderais ceci: Software Entrophy , où l'analogie avec une veuve brisée est utilisée. Si deux fenêtres brisées apparaissent, votre équipe peut devenir apathique à le réparer, à moins que vous ne preniez une position proactive.