Sinnloses PHP für Fortgeschrittene

phpTechnische oder gar code-zentrierte Posts sind eigentlich gar nicht Thema des Blogs. Ich selbst schreibe seit Jahren kaum noch Code. Ich hatte davon irgendwann einfach die Nase voll.

Kürzlich fielen mir beim Aufräumen aber die Codes aus einem älteren Projekt in die Hände, in dem wir damals einen externen Dienstleister mit eingebunden hatten. Als ich die Codes wieder sah musste ich ordentlich ablachen, obwohl mir damals nicht so zumute war. Eine Geschichte, die zeigt, was passiert wenn man etwas besonders gut machen will. Wie sagte doch Kurt Tucholsky: „Das Gegenteil von ‚gut‘ ist ‚gut gemeint'“.

Informatik ist ein tolles Fach und ganz gewiss lernt man an der Uni in Bezug auf die Entwicklung von Software eine ganze Menge nützlicher Dinge. Dazu mag eine Heuristik gehören, die man so umschreiben kann: Coderedundanzen sind zu vermeiden. Und wann immer man innerhalb einer Klasse mehrfach die selbe Funktionalität ausführt, sind diese in eigene Methoden auszulagern.

Vielleicht kennen Sie den Roman “Der brave Soldat Schweijk” von Jaroslav Hašek. Schweijk hat die Angewohnheit die Befehle seiner Dienstherren genau zu befolgen (was allerdings nicht ausdrücklich befohlen ist, macht er auch nicht). Dadurch bringt er seine Vorgesetzten mitunter zur Weissglut.

Ähnlich genau (und verständnislos) befolgte offenkundig ein Entwickler (und Informatikstudent) die Tipps seiner Professoren als er den folgenden, wunderbaren PHP-Code entwarf. Es fand sich dort nämlich die folgende Zeile:

$this->isNotEmpty($string);

“$string” steht hier für eine beliebige Variable. Die Methode “isNotEmpty()” sah folgendermaßen aus:

function isNotEmpty($string) {
return !empty($string);
}

“empty()” ist eine gängige PHP-Funktion. Hier schoss der Autor, dem braven Soldaten Schweijk gleich, über das Ziel hinaus. Er wollte es richtiger machen als richtig.

Aber man kann es noch richtigerer machen!

Hier mein Vorschlag:

$this->isReallyNotEmpty($string);

Und dann:

function isReallyNotEmpty($string) {
return $this->isNotEmpty($string);
}

Das kann man ad infinitum so treiben. Denn die Welt befindet sich auf dem Rücken einer Schildkröte. Und die Schildkröte, befindet sich auf dem Rücken einer anderen Schildkröte, die sich wiederum auf dem Rücken usw. ….

Bildnachweis:
flickr.com, James Cridland, Creative Commons BY 2.0

Schreibe einen Kommentar

Your email address will not be published. Please enter your name, email and a comment.