Js-beautify: Странный отступ при использовании переключателя

Созданный на 2 авг. 2010  ·  11Комментарии  ·  Источник: beautify-web/js-beautify

switch (v) { case 1: break; case 2: break; case 3: break; default: break; }

… становится…

switch (v) {
case 1:
    break;
case 2:
    break;
case 3:
    break;
default:
    break;
}

Возможно, это сделано намеренно, но я ожидаю, что case будет иметь отступ на 1 уровень (в зависимости от настроек).

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

ИМХО, это действительно не имеет смысла. Причина, по которой Крокфорд опускает дополнительные отступы, следующая: «Каждый регистр соответствует переключателю. Это позволяет избежать чрезмерного отступа». ОРЛИ?

Хотя я вижу твою точку зрения. Если так задумано и вам это нравится, просто оставьте все как есть!

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

Это задумано, в соответствии с соглашениями Крокфорда, http://javascript.crockford.com/code.html , так что это не ошибка.

ИМХО, это действительно не имеет смысла. Причина, по которой Крокфорд опускает дополнительные отступы, следующая: «Каждый регистр соответствует переключателю. Это позволяет избежать чрезмерного отступа». ОРЛИ?

Хотя я вижу твою точку зрения. Если так задумано и вам это нравится, просто оставьте все как есть!

switch (foo) {
    case something:
        break;
}
 ^^^^^^^ huge ugly empty space

... и реальный код внезапно отталкивается на 2 отступа, что обычно намного уродливее, чем просто обработка переключателя/регистра как специального случая без отступов.

Понятно, что все в глазах смотрящего.

Я не согласен с Крокфордом, с его идеей чрезвычайно сложно установить фактическое окончание оператора switch. По его логике, зачем вообще делать отступы в каких-либо управляющих структурах? Все они дают штраф за отступ.

Я думаю, что было бы лучше, если бы кто-то просто так работал на разрешении 800x600:

switch (v) {
    case 1:
    // code goes here
    break;

    default:
    // code goes here
    break;
}

Хотелось бы иметь возможность для этого; либо "обычный" способ (например, я видел операторы switch, написанные всю свою жизнь), либо способ, который я продемонстрировал выше; ничего, кроме значения по умолчанию. Готовы ли вы к патчу, если вы лично не согласны или не видите в нем необходимости?

Потрясающе, большое спасибо.

Можем ли мы иметь вариант для этого? Может, просто добавить его в jslint happy?

Ненавижу вбрасывать неаккуратные пробелы для оператора switch.

@drewhjava Не стесняйтесь открывать ошибку, ссылаясь на эту, запрашивая эту опцию.

Эта проблема не кажется решенной?

Я все еще получаю уродливое украшение переключателя. Это не было исправлено?

например

switch (v) {
case 1:
    break;
case 2:
    break;
case 3:
    break;
default:
    break;
}

Эх. Я добавил флажок «jslint-happy» на jsbeautifier.org.

Отлично спасибо :)

Эта проблема с отступом отличается от одного и того же кода в Windows и OSX. Примером является https://github.com/gpujs/gpu.js , когда я запускаю yarn make , он украшает папку ./src , используя этот скрипт: https://github.com/ gpujs/gpu.js/blob/012cfff566691a8fa360e0af650a45c616ceff4a/gulpfile.js#L85

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