Robustheit erhöhen
Unglaublich, jetzt ist der kleine Maximilian schon wieder über eine Woche alt und auch endlich bei mir zuhause. Ich kann also mal wieder versuchen etwas zu Papier zu bringen. Da ich jetzt noch drei Wochen in Elternzeit sein werde, programmiere ich natürlich gerade nicht so viel. Egal, hab ja noch ein paar Themen in meinem wunderbaren Notizblock, die ich noch verbloggen wollte.
Wenn ich jetzt bei der Arbeit wäre, denn würde ich an einem speziellen Projekt arbeiten. Ok, das gilt wohl für jeden. Da wir in unserem Projekt ein wenig zu kämpfen hatten mit der „Defensivität“ einiger Komponenten haben wir uns eine Vorgehensweise überlegt. Was ich übrigens mit „Defensivität“ gemeint habe ist, dass das Programm unschön abschmierte, wenn man zum Beispiel falsche Pfade konfiguriert hatte.
Unser anfängliches Problem war, dass wir, wenn so ein Fehler aufgetreten ist einfach die Pfade richtig gesetzt haben. Fertig. Danach war das Problem erstmal gelöst. Das doofe war, wenn diese Misskonfiguration wieder aufgetreten war, musste man wieder ein wenig Softwareforensik betreiben, um wieder an den Punkt zu kommen, wo man wusste, dass es sich um den Pfad handelt. Irgendwann hatte man ein Gefühl für die Fehler und es war gut.
Jetzt haben wir uns angewöhnt solche Fehler wie richtige Fehler zu behandeln. Sobald etwas einen Fehler im Programm provoziert, wird die Stelle im Code so umgebaut, dass eine aussagekräftige Exception geworfen wird, anhand jeder „Affe“ erkennen kann, was er falsch gemacht hat und wie er es beheben kann. Natürlich könnte man das von Anfang an richtig machen, aber wie immer vergisst man dort die hälfte oder denkt, dass dieser Fehler eh nie auftreten kann.
So. Was will ich eigentlich sagen. Sobald man eine Missverwendung oder Misskonfiguration hat, dann sollte man sofort seinen Code anfassen und eine aussagekräftige Fehlermeldung draufsetzen, so dass beim erneuten Auftreten einem die Software sofort sagt, was man zu tun hat.
… und bitte nicht vergessen einen entsprechend annotierten Unittest dafür zu schreiben, dann ist man bis zur nächsten Änderung sicher, dass ein Wiederauftreten des Fehlers unerkannt bleibt.
just my 5 cents
Lapis
@Lapis: Ja das hätte ich noch erwähnen sollen, aber das hab ich bestimmt schon mal im Detail in einem der anderen 500 Artikel geschrieben 🙂
100% Zustimmung, ich setzte es exakt so um.
Fehlermeldungen sind Freunde 😉