Hi!
für mich ist es deshalb angenehmer, weil ich gewöhnt bin, dass bei Kontrollanweisungen - ähnlich wie bei Funktionen - die Argumente in Klammern stehen. Das ist bei if, while, switch und einigen anderen der Fall, daher mach ich es konsequenterweise beim return auch (wohl wissend, dass es eigentlich nicht notwendig wäre).
Da braucht man es aus syntaktischen Gründen um die Bedingung eindeutig vom Anweisungsblock zu trennen. (Bei Python besipsielsweise muss man sie nicht klammern, da wird aber die Bedingung mit einem : abgeschlossen.) Die Ausdrücke von return, continue, break, goto und require/include werden mit ; abgeschlossen, womit syntaktisch bereits alles klar ist.
Zwar wollte mich schon einmal jemand (warst du das nicht sogar?) darauf hinweisen, dass das einen Unterschied machen kann (Wert eines Ausdrucks vs. Referenz), und das nehme ich als Hinweis zur Kenntnis. Doch in den Sprachen und Projekten, die ich bisher vor mir hatte, ist mir noch kein realer Fall untergekommen, wo das relevant gewesen wäre. Denn wenn ich eine Referenz zurückgeben möchte, dann formuliere ich das auch explizit so, z.B. mit dem &-Operator, und empfehle das der Klarheit wegen auch jedem anderen. Und dann ist die Klammerung beim return wirklich nur noch Zierde. In diesem Fall mag ich diese Zierde. ;-)
Diese Zierde wird aber im Funktionskopf vor den Funktionsnamen geschrieben. Beim return sieht man davon nichts mehr. Da darf man nur
return $variable;
notieren. Mit Klammern gibt es eine Notice-Meldung und keine Referenz.
Lo!