(vor)lesbarer Quelltext

Johannes Hofmeister hat in der dot Net pro (Ausgabe 4/2012) einen Artikel veröffentlicht, in dem er auf die Relevanz guter Bezeichner hinweist. Ende Mai 2013 hat er das Thema auch auf dem Treffen der .net User Group Rhein/Ruhr in Ratingen vorgestellt.

Besonders beschäftigt hat mich die Aussage zu den lesbaren, bzw. vorlesbaren Bezeichnern am Beispiel der Interfaces. Dieses Beispiel hat mich beeindruckt, weil er das große "I" vor dem Interfacebezeichner mit in den "sprechenden Namen" einbezieht. Ein schönes Beispiel ist das Interface "IObserver", welches normalerweise jene Klassen implementieren, die andere Objekte beobachten. Die beobachteten Klassen implementieren dann häufig das Interface "IObservable".

Der Vorschlag von Johannes ist nun, diese Interface Bezeichner "lesbarer" zu machen. Aus "IObserver" macht er "Iobserve", was man als "I observe" (ich beobachte) lesen kann. Und aus "IObservable" könnte man "Inotify" machen. Das würde als "I notify" gelesen (Ich benachrichtige). Kombiniert man dies mit generischen Klassen, kann folgender Quelltext dabei heraus kommen:

(mehr)

Doppeldeutige Dokumentation

Vor einigen Tagen habe ich mittags asiatisch gegessen. Das Essen war gut, aber in Erinnerung geblieben ist mir der Spruch im Glückskeks. Ich weiß, dass diese Sprüche gerne allgemein gehalten sind und jeder etwas hinein interpretieren kann, aber dieser Spruch war sehr konkret und doch extrem doppeldeutig:

Es stehen Veränderungen vor der Tür. Lass sie ruhig zu.

Ich hab diesen Spruch mehrmals gelesen, bis mir die Doppeldeutigkeit aufgefallen ist.

Das hat mich dann an die Dokumentation von Quelltexten erinnert. Manchmal sind es ganz banale Informationen, die man nicht braucht

int i = 5;  // Zähler initialisieren

oder die Information ist so verschlüsselt, dass man nicht weiß was man damit anfangen soll

return CheckCodeForSpecialSymbol(code); // prüft, ob code die Anforderung erfüllt

Dieser Spruch aus dem Glückskeks erinnert mich nun daran, dass man Erläuterungen möglichst eindeutig formulieren muss. Wenn das schwerfällt, dann ist das ein Zeichen dafür, dass man selbst nicht versteht, was dort passiert. Und man sollte später noch mal drüber schauen, ob der Text wirklich verständlich ist.

In dem Sinne lassen wir die Tür doch besser nicht zu, oder ?

Christof