Come puoi vedere dalle risposte, non c'è consenso su questo argomento. A meno che tu non lavori in gruppo, usa ciò con cui ti senti più a tuo agio.
Io preferisco l'inserimento di una nuova riga prima di operatori.
Ogni volta che devo interrompere le linee, di solito metto al massimo un termine dello stesso "livello" su una linea:
La legge di gravitazione di Newton in Python:
force = (
gravitational_constant
* mass_1
* mass_2
/ (distance * distance)
)
Confronta questo con:
force = (
gravitational_constant *
mass_1 *
mass_2 /
(distance * distance)
)
Voglio sapere che "divido per distanza al quadrato", non voglio sapere che "mass_2 viene diviso", perché non è così che penso alle espressioni matematiche.
Inoltre, di solito voglio sapere prima cosa sto facendo (operatore), prima di preoccuparmi di cosa faccio (operandi).
Oppure considera questa istruzione SQL contorta:
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
Questo mi permette di vedere come le singole condizioni sono collegate molto facilmente, semplicemente scorrendo dall'alto verso il basso senza dover leggere tutte le righe fino alla fine per trovare l'operatore invece di:
WHERE
a = 1 AND
b = 2 AND
c = 3 AND
(
d = 3 OR
e = 1) AND
x = 5
Penso al primo in termini di " X
è vero", quindi lo rettifico dicendo: " E questo è anche vero", che mi sembra più naturale del contrario. Inoltre, trovo il primo molto più facile da analizzare visivamente.
O un esempio di PHP:
$text = "lorem ipsum"
. "dolor sit amet, "
. "consectetur adipisicing elit, "
. "sed do eiusmod tempor";
Ancora una volta, posso semplicemente sfogliare la lettura in verticale per vedere che sto semplicemente concatenando il testo, perché la maggior parte delle volte sento che in realtà non mi interessa cosa c'è dentro le stringhe / condizioni.
Naturalmente, non applicherei questo stile incondizionatamente. Se inserire la nuova riga dopo un operatore sembra avere più senso per me, lo farei, ma al momento non riesco a pensare ad un esempio.