Alle Beiträge von Martin Dieblich

Das Einmaleins der Ausnahmebehandlung

Lernt man eine Programmiersprache, setzt sich mit „CleanCode“ auseinander oder eignet sich generell neue Fertigkeiten (z.B. TDD, aspektorientierte Programmierung, neue Frameworks usw.) an, so wird ein Aspekt für meinen Geschmack immer zu oberflächlich be­handelt:
Wie wird richtig mit Ausnahmen (Exceptions) umgegangen?

unbekannter-fehler
Immerhin: Eine Fehlermeldung

Wenn dies nicht klar ist, wirkt sich das auf die Art und Weise aus, wie Software entwickelt wird: Es ist ein lästiges Thema, welches dem Kunden / Nutzer keinen direkten Mehrwert bringt. Ein Ein­ge­ständnis, dass das System nicht unter Kontrolle ist und noch Fehler hat.

Bei der Verwendung oder Betreuung andere Systeme trifft man oft genug auf inkonsistentes oder unvollständiges Verhalten und wer hat noch nie in seinem Leben eine Fehlermeldung gehabt, die einfach nicht weiterhilft? (Es gibt unzählige Listen lustiger Fehlermeldungen…)

In diesem Beitrag möchte ich ein paar persönliche Tipps vorstellen, welche mit geringem Aufwand umsetzbar sind und zu einem einfachen und konsistenten Arbeiten mit Ausnahmen führen.

Das Einmaleins der Ausnahmebehandlung weiterlesen

Legacycodeanalyse mit Doxygen

Das Arbeiten mit alten Quelltexten (auch bekannt als Legacy-Code) ist mitunter ein herausforderndes Unterfangen. Was macht diese Monster-Methode? Welche Effekte haben meine Änderungen? Mache ich etwas kaputt? Ist dieses Stück Code vor mir ein Bug oder gar ein „Common-Law-Feature“?

Jede Entwicklergeneration muss sich mit diesem Thema auseinandersetzen (abgesehen von der Ersten natürlich) und so gibt es auch viele Bücher oder Blog-Beiträge dazu.
Zwei dabei immer wiederkehrende Fragen beim Arbeiten mit Legacy-Code sind:
  • Was macht diese Methode?
  • Welche Effekte werden meine Änderungen haben?
Zur Beantwortung dieser Frage hilft einem das OpenSource-Programm Doxygen weiter: Richtig konfiguriert erstellt es Aufrufhierarchien aller Methoden, die dabei helfen die obigen beiden Fragen zu beantworten.

Legacycodeanalyse mit Doxygen weiterlesen