return if bli
Ich mag diese Variante (die es auch in Perl gibt) grundsaetzlich nicht, weil sie den Fokus auf das 'return' legt und nicht auf die Bedingung. …
Das Perl-Konstrukt 'return unless <unwahrscheinlicher ausdruck>' finde ich dagegen noch in Ordnung
Diese Schreibweise nutzt man i.d.R. in einer negativen Bedeutung, also bspw.
return if arr.nil? or arr.empty?
Solange der Ausdruck diese Länge nicht überschreitet, sehe ich nicht, dass er irreführt. Wenn man dieses Pattern zweimal gesehen hat, ist es einem geläufig.
Allgemein ist der Zweck dieser Postfix-Schreibweise die mögliche Ähnlichkeit zu natürlichen Sprachen. Das heißt, diese Ausdrücke sind ähnlich aufgebaut wie ein Satz, der die Funktionalität des Codes beschreibt:
»Breche die Funktion ab, wenn der Array nicht angegeben wurde oder keine Elemente enthält.«
Die Postfix-Schreibweise bereitet Probleme wenn die Zeile nicht sofort überblickbar ist:
mach_was.ganz_langes(und, kompliziertes(mit(siebenundzwanzig).verschachtelten(expressions))) if foo() and bar() and not quux?
wäre insofern schlecht.
Mathias