Js-beautify: Разница между стилями брекетов? (свернуть или развернуть)

Созданный на 19 дек. 2014  ·  3Комментарии  ·  Источник: beautify-web/js-beautify

Извините, если на это уже был дан ответ или где-то объяснено, но я не смог найти.

Сначала позвольте мне начать с примера. В моем коде есть много объектов, которые содержат настройки для функций. С опцией brace_style: collapse я бы ожидал:

function someFunc(settings) {
  return settings.set;
}
someFunc( { set: 'string' } );

Но, может быть, если он достаточно большой (например, 3 или более свойств? может быть, это может быть настройка?):

someFunc( {
  set: 'string', 
  set2: 'string2',
  set3: 'string3'
} );

За исключением того, что вместо этого он делает это:

someFunc( { 
  set: 'string' 
} );

Когда используется много этих объектов, их может быть довольно трудно прочитать. Я бы хотел, чтобы «свернуть» означало, что меньший код с фигурными скобками (операторы, объекты, анонимные функции и т. д.) оставался бы на одной строке.

Я также не вижу разницы между «свернуть» и «конец-развернуть». Насколько я могу судить, они делают то же самое.

Самый полезный комментарий

Первая часть звучит как #338.

Опция "свернуть" просто определяет, находится ли открывающая фигурная скобка на той же строке, что и материал, который идет _перед_, или на отдельной строке - он не имеет отношения к материалу, который идет после (внутри фигурных скобок).

Разница между "collapse" и "end-expand" заключается в том, как в некоторых случаях обрабатывается конечная фигурная скобка. Например:

Это сделает "collapse", поместив закрывающую скобку для if в ту же строку, что и ключевое слово else :

if (someCondition) {
  doSomething();
} else {
  doSomethingElse();
}

В то время как "end-expand" сделает это, поместив закрывающую скобку для if в отдельной строке:

if (someCondition) {
  doSomething();
}                     // closing curly brace is put on its own line
else {
  doSomethingElse();
}

чт

Все 3 Комментарий

Первая часть звучит как #338.

Опция "свернуть" просто определяет, находится ли открывающая фигурная скобка на той же строке, что и материал, который идет _перед_, или на отдельной строке - он не имеет отношения к материалу, который идет после (внутри фигурных скобок).

Разница между "collapse" и "end-expand" заключается в том, как в некоторых случаях обрабатывается конечная фигурная скобка. Например:

Это сделает "collapse", поместив закрывающую скобку для if в ту же строку, что и ключевое слово else :

if (someCondition) {
  doSomething();
} else {
  doSomethingElse();
}

В то время как "end-expand" сделает это, поместив закрывающую скобку для if в отдельной строке:

if (someCondition) {
  doSomething();
}                     // closing curly brace is put on its own line
else {
  doSomethingElse();
}

чт

Спасибо @c32hedge , кажется, это довольно популярный запрос, который находится в процессе выполнения! #315

Отличное объяснение, теперь я понял. Я думал, что это связано с тем, что было в брекетах, а не с тем, что происходило вокруг них. Интересно, можно ли обновить документацию, чтобы включить краткое объяснение этого?

Поиск js-beautify brace-style explain в Google приведет к этой проблеме. Те, кто действительно хотят этому научиться, не читая кода, могут получить то, что хотят.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги