Bueno, aquí hay un cebo de votos negativos. Nunca me han acusado de hacer lo popular. Claramente, si las cosas encajan en una línea, entonces bien, ajústelas en una línea.
Pero mi principal preocupación no es si el código es "feo" o "bonito". Mi principal preocupación es lo fácil que es comprender y realizar cambios sin cometer errores.
Si los argumentos son largos y hay muchos, ¿por qué no ponerlos en líneas separadas? En mi opinión, eso hace que sea más fácil ver qué son, y más fácil cambiarlos si es necesario. También me da espacio para adjuntar un comentario a cada argumento si lo deseo.
También quiero minimizar la posibilidad de cometer un error si agrego o elimino un argumento a una función, lo que es más probable que ocurra al final de una lista de argumentos que al principio. Por esa razón, prefiero poner la coma (,) al principio de una línea, que al final. Entonces, si, por ejemplo, quiero eliminar o agregar un argumento al final de la lista, es una edición de una línea. No tengo que jugar con la coma que debe ir al final de todas las líneas sino a la última, donde la última tiene que terminar con un paréntesis.
Entonces (chico, me van a echar por esto) lo escribo así:
nameOfFunction(firstArgument
, secondArgument // optional comment
...
, lastArgument // optional comment
);
Cuando hay una función con de cinco a veinte argumentos, la función no fue así de una vez. Creció con el tiempo, lo que significa que hubo muchas ediciones. Cualquier edición no completada es un error de sintaxis o un error. Así que no digo que esto sea bonito. Afirmo que ayuda a hacer las ediciones correctas.
(Y para aquellos que dicen que debería pasar una estructura en su lugar, todo lo que hace es desplazar el problema, porque necesita un montón de líneas de código para completar la estructura, sin mencionar el código adicional para declararlo y asignarlo).