Gli umani sono parser anche! Incoraggiare la massima leggibilità!
Viste le tue 2 scelte, preferirei il primo :
a = b;
c = b;
È più facile analizzare visivamente e capire che sia a
che c
ora hanno lo stesso valore di b
. O almeno puoi vedere rapidamente che 2 oggetti separati ottengono lo stesso valore.
Nel secondo esempio, nulla di tutto ciò è immediatamente evidente.
Scorri l'ambiguità
Scorri anche one-liner ( a = b = c;
) per ragioni simili e perché nascondono più espressioni in una singola istruzione. Ciò facilita l'introduzione di errori di volo * e porta a sviluppare una (cattiva) abitudine di stipare troppo in uno spazio troppo piccolo per un falso senso di espressività.
* Per esempio, mi sono imbattuto spesso in cose del tipo:
-
a = b = b;
(quando ovviamente un c
era inteso da qualche parte),
- e poi rapidamente vedrai cose come
if (a == (b = c)) {}
... e ora hai un errore di battitura a partire da if (a = (b = c))
e quindi non hai assolutamente idea di quale fosse il comportamento previsto. Ah, e usa nomi di variabili descrittive, ovviamente.