Ну, вот немного приманки. Меня никогда не обвиняли в популярных вещах. Понятно, что если вещи помещаются в одну строку, то хорошо, поместите их в одну строку.
Но меня больше всего беспокоит не то, является ли код «уродливым» или «красивым». Моя главная забота - насколько легко понять и вносить изменения без ошибок.
Если аргументы длинные и их много, почему бы не поставить их в отдельные строки? На мой взгляд, это облегчает понимание того, что они из себя представляют, и их легче менять в случае необходимости. Это также дает мне возможность прикрепить комментарий к каждому аргументу, если я хочу.
Я также хочу свести к минимуму вероятность ошибки при добавлении или удалении аргумента функции, что более вероятно в конце списка аргументов, чем в начале. По этой причине я предпочитаю ставить запятую (,) в начале строки, чем в конце. Затем, если, например, я хочу удалить или добавить аргумент в конце списка, это редактирование в одну строку. Мне не нужно возиться с запятой, которая должна идти в конце всех строк, кроме последней, где последняя должна заканчиваться скобками.
Итак (мальчик, я за это заплачу) я напишу это так:
nameOfFunction(firstArgument
, secondArgument // optional comment
...
, lastArgument // optional comment
);
Когда есть функция с пятью-двадцатью аргументами, функция не получилась таким образом сразу. Со временем он вырос, а значит, было много правок. Любое незавершенное редактирование является синтаксической ошибкой или ошибкой. Так что я не утверждаю, что это красиво. Я утверждаю, что это помогает получить правильные изменения.
(И для тех, кто говорит, что я должен передать структуру вместо этого, все, что делает, это смещает проблему, потому что вам нужно множество строк кода для заполнения структуры, не говоря уже о дополнительном коде, чтобы объявить и выделить его.)