Bem, aqui estão algumas iscas de voto negativo. Eu nunca fui acusado de fazer a coisa popular. Claramente, se as coisas couberem em uma linha, então tudo bem, coloque-as em uma linha.
Mas minha principal preocupação não é se o código é "feio" ou "bonito". Minha principal preocupação é como é fácil entender e fazer alterações sem cometer erros.
Se os argumentos são longos e existem muitos, por que não colocá-los em linhas separadas? Na minha opinião, isso facilita a visualização do que são e a alteração, se necessário. Também me dá espaço para anexar um comentário a cada argumento, se eu quiser.
Também quero minimizar a chance de cometer um erro se adicionar ou remover um argumento a uma função, o que é mais provável que ocorra no final de uma lista de argumentos do que no início. Por esse motivo, prefiro colocar a vírgula (,) no início de uma linha do que no final. Então, se, por exemplo, desejo remover ou adicionar um argumento no final da lista, é uma edição em uma linha. Não preciso mexer na vírgula que precisa ir no final de todas as linhas, exceto a última, onde a última deve terminar entre parênteses.
Então (garoto, eu vou ser queimado por isso) eu escrevo assim:
nameOfFunction(firstArgument
, secondArgument // optional comment
...
, lastArgument // optional comment
);
Quando há uma função com de cinco a vinte argumentos, a função não fica assim de uma só vez. Ele cresceu com o tempo, o que significa que houve muitas edições. Qualquer edição não concluída é um erro de sintaxe ou um bug. Então eu não afirmo que isso é bonito. Eu afirmo que ajuda a obter as edições corretas.
(E para aqueles que dizem que eu deveria passar uma estrutura, tudo o que faz é substituir o problema, porque você precisa de várias linhas de código para preencher a estrutura, sem mencionar o código extra para declarar e alocá-la.)