Wie Sie den Antworten entnehmen können, besteht in dieser Angelegenheit kein Konsens. Verwenden Sie das , womit Sie sich besser auskennen, es sei denn, Sie arbeiten in einem Team .
Ich bevorzuge das Einfügen einer neuen Zeile vor Operatoren.
Immer wenn ich Zeilen brechen muss, setze ich normalerweise höchstens einen Begriff derselben "Ebene" in eine Zeile:
Newtons Gravitationsgesetz in Python:
force = (
gravitational_constant
* mass_1
* mass_2
/ (distance * distance)
)
Vergleichen Sie dies mit:
force = (
gravitational_constant *
mass_1 *
mass_2 /
(distance * distance)
)
Ich will wissen, dass ich „divide durch Abstand zum Quadrat“, ich will nicht wissen, dass „mass_2 wird geteilt“, weil das nicht ist , wie ich mathematischen Ausdrücke denken.
Außerdem möchte ich normalerweise zuerst wissen, was ich tue (Operator), bevor ich mich darum kümmere, womit ich Dinge mache (Operanden).
Oder betrachten Sie diese verschlungene SQL-Anweisung:
WHERE
a = 1
AND b = 2
AND c = 3
AND ( -- or put the OR on one line together with the AND
d = 3
OR e = 1)
AND x = 5
Auf diese Weise kann ich sehen, wie die einzelnen Bedingungen sehr einfach miteinander verbunden werden können, indem ich einfach von oben nach unten überfliege, ohne jede Zeile bis zum Ende lesen zu müssen, um den Operator zu finden, im Gegensatz zu:
WHERE
a = 1 AND
b = 2 AND
c = 3 AND
(
d = 3 OR
e = 1) AND
x = 5
Ich denke an Ersteres in Bezug auf " X
ist wahr", dann ändere ich das, indem ich sage: " UND das ist auch wahr", was sich für mich natürlicher anfühlt als umgekehrt. Außerdem finde ich das erste viel einfacher visuell zu analysieren.
Oder ein PHP-Beispiel:
$text = "lorem ipsum"
. "dolor sit amet, "
. "consectetur adipisicing elit, "
. "sed do eiusmod tempor";
Auch hier kann ich das Lesen nur vertikal überfliegen, um zu sehen, dass ich nur Text verkette, da ich die meiste Zeit das Gefühl habe, dass es mir eigentlich egal ist, was sich in den Zeichenfolgen / Bedingungen befindet.
Natürlich würde ich diesen Stil nicht unbedingt anwenden. Wenn es mir sinnvoller erscheint, die neue Zeile nach einem Operator zu setzen, würde ich dies tun, aber mir fällt derzeit kein Beispiel ein.