Credo che la linea debba iniziare con il simbolo più alto nell'albero di analisi dell'istruzione che si desidera interrompere. Evidenzia l'operatore che è più importante nell'espressione. È lo stesso motivo per cui metti un altro all'inizio di una linea e non alla fine della riga precedente.
Nell'esempio seguente, eseguendo la scansione del margine sinistro, viene visualizzata la struttura dell'istruzione come OR di 3 espressioni.
if (ch>='A' && ch<='Z'
|| ch>='a' && ch<='z'
|| ch>='0' && ch<='9')
{...}
Di seguito, || gli operatori sono meno evidenziati. È meno ovvio che sia un || di espressioni. Soprattutto se le linee erano lunghezze diverse.
if (ch>='A' && ch<='Z' ||
ch>='a' && ch<='z' ||
ch>='0' && ch<='9')
{...}
E solo per riferimento, questo è molto sbagliato. || gli operatori non sono evidenziati affatto.
if ( ch>='A' && ch<='Z' || ch>='a'
&& ch<='z' || ch>='0' && ch<='9')
{...}
Mi piace persino mettere le virgole all'inizio della riga, anche se raramente lo vedo. Mi astengo dal farlo su codice condiviso.
var note:Object =
{ key: key
, type: 'P'
, text: someLongProcedureCallGettingTheUserInitials()
+ ": " + getTheTextThatWasTyped()
};