Zu diesem Thema gibt es ein ausgezeichnetes Buch mit dem Titel " Why Programs Fail" , in dem verschiedene Strategien zum Auffinden von Fehlern beschrieben werden, die von der Anwendung der wissenschaftlichen Methode zum Isolieren und Beheben eines Fehlers bis zum Delta-Debugging reichen. Der andere interessante Teil dieses Buches ist, dass der Begriff "Fehler" wegfällt. Zellers Ansatz ist:
(1) Ein Programmierer erzeugt einen Fehler im Code. (2) Der Defekt verursacht eine Infektion. (3) Die Infektion breitet sich aus. (4) Die Infektion verursacht einen Fehler.
Wenn Sie Ihre Debug-Fähigkeiten verbessern möchten, empfehle ich dieses Buch.
Aus eigener Erfahrung habe ich viele Fehler in unserer Anwendung gefunden, aber das Management drängt uns einfach weiter, um neue Funktionen herauszubringen. Ich habe oft gehört "Wir haben diesen Fehler selbst gefunden und der Kunde hat es noch nicht bemerkt, also lass es einfach, bis sie es tun". Ich denke, dass es eine sehr schlechte Idee ist, reaktiv zu sein, anstatt Fehler proaktiv zu beheben, da es an der Zeit ist, eine Lösung zu finden, andere Probleme gelöst werden müssen und die Verwaltung weiterer Funktionen so schnell wie möglich aus dem Haus gehen soll, damit Sie erwischt werden in einem Teufelskreis, der zu viel Stress und Burnout und letztendlich zu einem Systemdefekt führen kann.
Kommunikation ist auch ein weiterer Faktor, wenn Fehler gefunden werden. Das Versenden einer E-Mail oder das Dokumentieren im Bug-Tracker ist in Ordnung, aber nach meiner Erfahrung finden andere Entwickler einen ähnlichen Fehler und verwenden die Lösung, die Sie zur Behebung des Codes eingesetzt haben, nicht erneut (da sie alles vergessen haben) ), sie fügen ihre eigenen Versionen hinzu, so dass Sie 5 verschiedene Lösungen in Ihrem Code haben und es dadurch aufgeblähter und verwirrender aussieht. Wenn Sie also einen Fehler beheben, sollten Sie sicherstellen, dass einige Personen den Fehler überprüfen und Ihnen Feedback geben, falls sie etwas Ähnliches behoben und eine gute Strategie gefunden haben, um damit umzugehen.
limist erwähnte das Buch The Pragmatic Programmer, das einige interessante Informationen zur Behebung von Fehlern enthält. Anhand des Beispiels, das ich im vorigen Absatz gegeben habe, würde ich Folgendes betrachten: Software Entrophy , wobei die Analogie einer zerbrochenen Witwe verwendet wird. Wenn zwei viele zerbrochene Fenster angezeigt werden, ist Ihr Team möglicherweise nicht mehr in der Lage, diese zu reparieren, es sei denn, Sie nehmen eine proaktive Haltung ein.