Webentwicklung in Münster

"Und" mal anders..

In letzter Zeit bin ich großer Fan davon geworden, einzeilige if-Bedingungen mit einem logischen “Und” noch weiter zu verkürzen. Der einzige Nachteil bleibt, dass die Lesbarkeit des Quelltextes leidet (Weil viele Programmierer diese Methode der Vereinfachung nicht kennen und nutzen). Deshalb schreibe ich sie hier auf – Dann kann ich die Variante weiter ohne schlechtes Gewissen nutzen, weil jetzt einige Leute mehr darüber gelesen haben.

Hier die normale Programmierung, wobei die geschweiften Klammern auch weggelasssen werden können. Ich habe das Beispiel in php verfasst, genauso funktioniert es aber auch in vielen anderen Sprachen, wie zum Beispiel JavaScript.

<?php
	$blubb = true;

	if($blubb) {
		die('Blubb!');
	}
?>

Und die Kurzfassung

<?php
	$blubb = true;

	$blubb && die('Blubb!');
?>

Durch die Verknüpfung mit dem logischen “Und”, wird die Anweisung auf der rechten Seite nur ausgeführt, wenn die linke Seite wahr (true) ist.

Übrigens machen auch bekannte Bibliotheken wie jQuery massiven gebrauch von diesen Abkürzungen, da gerade in performancekritischen Projekten jedes Zeichen zählt.

Edit:
Klaus hat mich darauf hingewiesen, dass das ganze natürlich auch mit der “oder”-Verknüpfung funktioniert, mit der man genau den gegenteiligen Effekt erzielt:

<?php
	$blubb = true;

	$blubb || die('Blubb!');
?>

Wenn der erste Parameter wahr ist, wird die zweite Anweisung nicht mehr ausgeführt.

Ein Kommentar zu diesem Beitrag

  1. kaeff schreibt:

    Siehste, ich wusste noch gar nicht, dass JS das auch kann. Ich misse in Java z.B. solche Konstrukte:

    $blub ? alert('Hello World') : alert('Foobar');
    

    Dort kann ein logischer Ausdruck nicht alleine als Anweisung stehen.

    Interessanterweise nimmt der Closure Compiler (http://closure-compiler.appspot.com/home) die Transformation sogar automatisch vor:

    var $blub = $true;
    if ($blub) {
      alert('Hello World');
    }
    

    wird zu

    var $blub=$true;$blub≤
    

    Über die Frage, welcher deiner beiden Beispiele schöner zu lesen ist, könnte man sich allerdings auch streiten – ich würde tendenziell die schlanke Variante bevorzugen

Verfasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen:
<a href="" title=""> <blockquote cite=""> <cite> <code> <em> <strong>

Kontakt

Ich freue mich über Anfragen und Ideen

auf dem Postweg

Felix Geenen
Langemarckstraße 59
48147 Münster

am Telefon

0151 / 11 50 14 27

oder per E-Mail

webentwicklung[at]felix-geenen[punkt]de

Aktuell

Die neuesten Beiträge aus dem Blog

28. Januar 2011 in Allgemein

Relaunch 2011

7. Dezember 2010 in Datenbanken

MySQL: Sortierung nach eigener Reihenfolge

27. Oktober 2010 in Allgemein

Syntax-Highlighting in OpenOffice

25. Oktober 2010 in php

"Und" mal anders..

18. Oktober 2010 in Allgemein

Fifa 99 – Höhere Auflösung und Patches