Исторически мне нравится разбивать выражения так, чтобы "это явно неполное" смещение показывалось на продолженной строке:
var something = foo + bar
+ baz(mumble);
Это отношение, которое исходит от работы на языках, которым нужны точки с запятой, чтобы прекратить выражения. Первая строка уже явно неполна из-за отсутствия точки с запятой, поэтому лучше дать читателю понять, что вторая строка не завершена.
Альтернативой может быть:
var something = foo + bar +
baz(mumble);
Это не так хорошо для меня. Теперь единственный способ сказать, что baz(mumble);
не является автономным (отступом в сторону), является проверка ваших глаз до конца предыдущей строки. (Это, по-видимому, длинный, так как вам нужно было сломать его в первую очередь.)
Но в bizarro JavaScript land я начал замечать людей, меняющих код, от вещей, которые были похожи на первую форму на вторую, и предупреждения о "автоматической вставки точки с запятой". Это, безусловно, вызывает несколько удивительных поведений. Не желая вникать в тангенс в то время, когда я добавляю "узнать, что такое автоматическая точка с запятой, и должен ли я делать это слишком" в моей бесконечной очереди задач.
Когда я это просмотрел, я оказался уверенным... но не уверен... что нет никаких опасностей в том, как я его использую. Кажется, проблемы возникли бы, если бы я отказался от +
от несчастного случая и написал:
var something = foo + bar
baz(mumble);
... тогда JavaScript вставляет точку с запятой после foo + bar
для вас, по-видимому, потому что обе строки являются самостоятельными как полные выражения. Я предположил, что, возможно, эти другие программисты из JavaScript думали, что смещение "явно преднамеренно неполного" бита в конец линии будет продолжаться лучше, потому что оно точно определяет место, где точка с запятой не была.
Однако, если я правильно изложил свою предпосылку, я устраиваю свои ломаные линии таким образом, что последующие строки "явно неполны". Если бы это было не так, я бы не рассмотрел свой путь в первую очередь.
Правильно ли, что мой способ не является риском для условий, описывающих, как я использую продолжение линии? Существуют ли какие-либо "неполные кажущиеся" ловушки выражений, которые на самом деле полны неожиданными способами?
Чтобы предложить пример "полных неожиданными способами", подумайте, можно ли интерпретировать + 1;
как положительную по одной строке. Кажется, что это возможно:
Но jsfiddle возвращает 6 для этого:
var x = 3 + 2
+ 1;
alert(x)
Возможно, это просто причуда в консоли, но это заставляет меня беспокоиться о моем "все в порядке, пока вторая строка не одинока, как полная интерпретация".