carom schrieb:
Nein, das ist einfach schlechter Stil und total überflüssig. Schau dir mal Quellcode eines größeren Projekts deiner Wahl an, das wirst du nirgends finden.
Ich kenne einige Quelltexte von SEHR großen Projekten! Keines davon entwickelt so.
Da geh ich beim Lesen des Quelltextes doch kaputt, wenn ich das sehe.
Poke646 schrieb:
Dann findest du
gegenteil = !value sicherlich auch schlechter als
gegenteil = (value == false) ?
Das ist was anderes als das, was ich unten meine.
$a = !$b ist eine Zuweisung.
Dort werden wohl ziemlich selten Klammern gesetzt.
Poke646 schrieb:
Nein, mal spaß bei Seite, eine boolsche Variable sollte man nicht nochmal auswerten zu müssen um zu erkennen was los ist, atomarer geht es ja nicht als die Variable selbst.
Nein, aber mach dir mal den Spaß und schreib mal eine Quelltextdatei mit - sagen wir mal 500-1000 Zeilen. Und dann hack da mal überall solche Vergleiche in die If-Konstrukte (am besten bei mehreren Vergleichen in der IF-Struktur). Der Überblick geht verloren.
Ich zumindest kann
PHP:
if ((!$a && $c != !$b) || !((!$foo == $bar) === $bla) && !empty($foo))
... keine Ahnung, ob die Zahl der klammern passt
auf jeden Fall SEHR schlecht lesen.
Oder ein einfacheres Beispiel:
PHP:
if (empty($foo)) {
$this->_object = new Zend_Framework_Foobar();
$this->_object->getInstance()->returnFloat('baz');
} elseif (!empty($foo))
$this->_object = new Zend_Framework_Foobar();
$this->_object->getInstance()->returnFloat('baz');
} else {
//this shouldnt happen
}
vs
PHP:
if (empty($foo) === true) {
$this->_object = new Zend_Framework_Foobar();
$this->_object->getInstance()->returnFloat('baz');
} elseif (empty($foo) === false)
$this->_object = new Zend_Framework_Foobar();
$this->_object->getInstance()->returnFloat('baz');
} else {
//this shouldnt happen
}
Selbst da sieht man schon den Unterschied - obwohl das noch ... ein kleiner übersichtlicher Block ist.
Hast du denn wirklich schonmal VIEL Quelltext an einem Stück lesen und nachvollziehen müssen? Ich mache das von Montag bis Sonntag - besonders spaßig sind ja dann solche Entwickler, die sowas machen:
if (empty($foo) !== true) .... DAS ist immer toll ... da muss man sich immer halb das Hirn verknoten.