Die Coding Guidelines haben vorher schon vorgeschrieben, dass alle Exceptions in den Log geschrieben werden müssen.
Wenn dieser Regel konsequent gefolgt worden wäre, vielleicht gäbe es dann nicht so viele Exceptions, die Teil des normalen Programmablaufs sind.
Ich kann mich nur wiederholen: Wenn eine Exception Teil des Programablaufs ist, sollte gerade dann geloggt werden, warum, damit andere Entwickler die Entscheidung
nachvollziehen und gegebenenfalls verbessern können.
Ich denke es ist keine schlechte Idee, alle bestehenden Exceptions um Protokollierung zu ergänzen, denn Ziel ist es ja eine saubere Codebasis zu haben und diese Stellen zu entfernen.
Liebe Grüße
Kathrin Huber
Kathrin Huber
Digitale Bibliothek
Sächsische Landesbibliothek –
Staats- und Universitätsbibliothek Dresden (SLUB)
Abteilung IT, Referat 2.1
01054 Dresden
Besucheradresse: Zellescher Weg 18, 01069 Dresden
Tel.: +49 351 4677 242 | Fax: +49 351 4677 711
E-Mail: kathrin.huber@slub-dresden.de
www.slub-dresden.de | www.kitodo.org/
Von: kitodo-developer-bounces@kitodo.org [mailto:kitodo-developer-bounces@kitodo.org]
Im Auftrag von Stefan Weil
Gesendet: Donnerstag, 5. Januar 2017 10:37
An: kitodo-developer@kitodo.org
Betreff: Re: [KitodoDev] Coding guidelines
Am 05.01.2017 um 09:32 schrieb Ronge, Matthias:
Die Vermeidung von Exceptions im regulären Programmablauf ist aus vielerlei Gründen anzustreben. Einer ist, dass ihre Verarbeitung vom Compiler bzw. JIT vergleichsweise schlecht optimiert wird, was ja auch logisch erscheint: Wenn das Kind bereits in den Brunnen gefallen ist (z.B. kein Arbeitsspeicher mehr frei) sollte man nicht mehr unnötig herumspielen (was möglicherweise zusätzlich Speicher allokiert), das macht die Sache tendenziell eher schlimmer.
Es macht auch keinen Sinn, wenn eine Anwendung im regulären Betrieb 200 Exceptions in der Minute loggt; mit dem Logfile kann man auch keine Fehlerdiagnose mehr durchführen, weil man die wahren Probleme dann darin auch nicht mehr findet. Ein anderer Grund ist, dass es in Eclipse (in anderen IDEs wahrscheinlich ebenfalls) einen Schalter gibt, dass die Anwendung bei jeder auftretenden Exception anhält. Auch das kann man nicht mehr nutzen, wenn Exceptions im Regelbetrieb andauernd geworfen werden.
Liebe Mitentwickler,
nur zur Klarstellung: auch ich sehe das so, dass Exceptions für den regulären
Programmablauf vermieden werden sollten. Folgendes hatte ich angemerkt:
Die Protokollierungspflicht sollte präzisiert werden: es gibt heute schon Code,
bei dem Exceptions Teil des normalen Programmablaufs sind. Da wäre eine
Protokollierung kontraproduktiv, da sie unnötig Ressourcen kostet. Textvorschlag:
"Unerwartete Exceptions müssen immer im Log registriert werden"
Auf Basis der unglücklich formulierte Coding Guidelines ("Sie [Exceptions] müssen
immer im Log registriert werden") könnte jemand auf die Idee kommen,
alle Exceptions um Protokollierung zu ergänzen. Das wäre sehr schlecht.
Liebe Frau Huber, es ist keine böse Absicht, wenn ich Ihnen Rechtschreibfehler
spät melde, sondern es liegt einfach daran, dass ich sie auch erst spät bemerke.
Gerade jetzt habe ich wieder einen, der korrigiert werden sollte: "Exeptions".
Übrigens wäre es mit der Word-Datei einfacher, solche Fehler zu finden.
Viele Grüße
Stefan Weil
PS. Es ist eine gute, aber leider noch zu wenig verbreitete Sitte, in Beiträgen
zu Mailinglisten die Antworten um unnötigen Ballast zu kürzen, also nicht
einfach alle früheren Beiträge wieder mitzuschicken.