What todo?

Bei der Programmierung, beim Debuggen, Testen und bei der Durchsicht von Programmen stolpere ich häufig über Ungereimtheiten, offensichtliche Fehler, Dinge, die verbessert werden können, unzureichendes Fehlerhandling und so weiter.

Da diese Dinge zwar geändert werden sollten, aber aktuell nicht im Fokus stehen, habe ich mir eine einfache aber recht wirkungsvolle Methode ausgedacht, diese Programmstellen zu kennzeichnen.

TODO

Ich lege eine Klasse ZCL_TODO an mit den statischen Methoden FRAGE, WICHTIG und ACHTUNG. Alle Methoden haben die Importing-Parameter WER (Optional) und WAS (preferred parameter).

Die Methoden haben keinen Quelltext. Dieser ist auch nicht nötig, denn die Methoden sollen lediglich als Merker für später dienen. Wenn ich z.B. im aktuellen Programm darüber stolpere, warum der ELSE-Zweig nicht prozessiert wird, dann schreibe ich an diese Stelle:

ZCL_TODO=>FRAGE( 'Was ist mit ELSE?' ).

Wenn ich bemerke, dass ein Funktionsaufruf falsch oder unvollständig ist, dann schreibe ich:

ZCL_TODO=>WICHTIG( wer = 'Enno' was = 'Parameter xyz prüfen! ).

Verwendungsnachweis

Das schöne an dieser Lösung ist, dass man mithilfe des Verwendungsnachweises für die Klasse ZCL_TODO sofort sehen kann, was man sich gerne merken wollte und was noch zu tun ist. Und das alles ohne großartige Hilfsmittel, Listen oder Dokumentationen.

Am besten eignet es sich für größere Programmierprojekte und Objekte, die aktuell bearbeitet werden. Wenn das Objekt gerade gar nicht in Bearbeitung ist, muss zur Quelltextänderung natürlich ein Transportauftrag angelegt werden. Aber auch das ist nicht weiter schlimm; dann hat derjenige, der das Objekt später ändern muss den schwarzen Peter. Hier muss selbstverständlich aufgepasst werden, dass der Entwickler mitbekommt, dass dieses Objekt nicht in seinen Transportauftrag übernommen wird. Diese wird deutlich dadurch, dass eine Meldung “Zu Auftrag 123 wurde eine Aufgabe hinzugefügt” (oder so ähnlich) erscheint.

Code Inspector

Um sicher zu gehen, dass Änderungen auch tatsächlich gemacht werden, kann der Code Inspector bemüht werden. Hier kann man die Prüfung auf Suchmuster entsprechend einstellen, dass der String “ZCL_TODO” einen Fehler auswirft. Wenn man jetzt noch einstellt, dass bei Freigabe des Transportauftrags die Code-Inspector-Prüfungen laufen, kann eigentlich nichts mehr schief gehen.

2015-05-07_18-55-29

Enno Wulff
Letzte Artikel von Enno Wulff (Alle anzeigen)