Redundanz

Redundanz

Seit der Grundschulzeit, als Klein-Thomas fünfzigmal den Satz „Ich soll nicht durch den Klassenraum laufen” in Schönschrift in sein Hausheft schreiben musste, ist ihm Redundanz zuwider. Sicher, dass sich Weihnachten jedes Jahr wiederholt, hat schon seine Vorteile – vor allem wegen der Geschenke. Aber wer etwas älter wird der weiß, dass Weihnachten mit viel überflüssiger Arbeit verbunden ist.

Gleiches gilt auch für die Programmierung. Redundanz sieht im Quellcode nicht nur unschön aus, sie ist auch mit überflüssiger und unnötiger Arbeit verbunden. Sicher, es gibt die zwei Freunde Kopieren und Einfügen. In der Programmierung sind das aber oft falsche Freunde, deren Heimtücke sich spätestens dann zeigt, wenn etwas überarbeitet werden muss.

Wesentlich besser ist es, von Beginn an den eleganteren Weg zu wählen. Bereits mit ganz einfachen Mittel lässt sich viel einsparen. Dazu ein kleines Beispiel. Um den anfangs erwähnten Satz fünfzigmal wiederzugeben, wäre wohl eine Lösung eine Schleife (PHP-Code):

for ($i=0; $i<50;$i ++) {
echo 'Ich soll nicht durch den Klassenraum laufen. ';

Schon da fangen aber für viele die ersten Schwierigkeiten an. Auf den ersten Blick erschließt sich möglicherweise nicht, warum die Variable $i den Startwert Null hat. Auch kann es sein, dass jeder der fünfzig Sätze ein individuelles Merkmal bekommen soll:

Thomas soll nicht durch den Klassenraum laufen.
Marc soll nicht durch den Klassenraum laufen.
Oliver soll nicht durch den Klassenraum laufen.

Auch dafür aber gäbe es eine Lösung:

$namen = array ('Thomas','Marc','Oliver')
for ($i=0; $i<3;$i ++) {
echo $namen[$i].' soll nicht durch den Klassenraum laufen. ';

Es gibt aber Fälle, wo solche Vorgehensweise nicht möglich ist und sich auf Grund des Aufwandes bei der Umstellung nicht anbietet. Selbst dann aber kann zumindest ein Teil der Redundanz verhindert werden:

$satzteil = ' soll nicht durch den Klassenraum laufen. ';
echo 'Thomas'.$satzteil ;
echo 'Marc'.$satzteil ;
echo 'Oliver'.$satzteil ;

Letztendlich ist der beste Weg der, von Beginn an sauber zu programmieren (oder eben nicht durch den Klassenraum zu laufen) und so die Redundanz im Code zu vermeiden.

6 Replies to “Redundanz”

  1. Der logische nächste Schritt um Redundanz zu vermeiden, wäre jetzt die Sache in eine Klasse zu packen und den Ausgabesatz und die Anzahl der Durchläufe abstrakt zu halten.
    Viele halten das immer für einen Scherz, wenn ich sage, ich würde da eine Klasse raus machen, ist aber völlig ernst gemeint. Wenn man in seinem Programm irgendwo nochmal so eine Schleife mit einem Aussagesatz und einem Schuldigen braucht muss man nur die Klasse zu erzeugen, die Felder zu füllen und die Ausgabemethode aufzurufen.

Kommentar verfassen

über Thomas Boley

Geboren wurde ich im Jahre des Herren 1971 in Wesel am Niederrhein – die Kommentare an dieser Stelle bezüglich des Bürgermeisters bitte verkneifen! Mein Verhältnis zu dieser Stadt würde wohl den Umfang dieser Seite sprengen. Nur soviel sei gesagt: Es ist durchaus durchwachsen, worin es sich aber nicht von meinem Verhältnis zu Bielefeld unterscheidet. Nach dem üblichen Werdegang (Kindergarten, Schule, Abitur, Zivildienst) und den üblichen jugendlichen Irrungen und Wirrungen verschlug es mich zum Studium nach Bielefeld verschlagen. 18 Jahre später ging es dann zurück an den Rhein, in die Domstadt Köln. mehr erfahren