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(a)slub-dresden.de
www.slub-dresden.de<http://www.slub-dresden.de/>
<mailto:jens.bemme@slub-dresden.de> |
www.kitodo.org/
Von: kitodo-developer-bounces(a)kitodo.org [mailto:kitodo-developer-bounces@kitodo.org] Im
Auftrag von Stefan Weil
Gesendet: Donnerstag, 5. Januar 2017 10:37
An: kitodo-developer(a)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.