Debugging der Ursache
- Reproduzieren: Erhalte die exakte Fehlermeldung, den Stacktrace und die kleinsten Schritte, die den Fehler auslösen. Wenn du ihn nicht reproduzieren kannst, sage dies, bevor du rätst.
- Lokalisieren: Folge dem Stacktrace zur fehlschlagenden Zeile und lies dann rückwärts bis zu der Stelle, an der der fehlerhafte Zustand erzeugt wurde.
- Hypothese aufstellen: Formuliere eine Ursache in einem Satz. Verifiziere sie mit einem Log, einem Test oder durch Lesen des Codes. Keine Behebung, bevor die Ursache bestätigt ist.
- Einmalig an der Quelle beheben: Durchsuche alle Aufrufer der Funktion, die du änderst; behebe den gemeinsamen Code, nicht jede Aufrufstelle.
- Beweisen: Füge einen Test hinzu oder führe einen Test aus, der vor der Behebung fehlschlug und danach erfolgreich ist, und führe die zugehörigen Tests erneut aus. Kein Testprojekt: Baue das betroffene Projekt und gehe den Fehlerfall im Code Schritt für Schritt durch.
- Melden: Ursache, Behebung, Überprüfung – drei Zeilen.
Niemals: den Fehler unterdrücken, einen blinden try/catch hinzufügen oder wiederholen, ohne zu verstehen, warum es fehlschlug.