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 уровень (в зависимости от настроек).
Это задумано, в соответствии с соглашениями Крокфорда, 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
Самый полезный комментарий
ИМХО, это действительно не имеет смысла. Причина, по которой Крокфорд опускает дополнительные отступы, следующая: «Каждый регистр соответствует переключателю. Это позволяет избежать чрезмерного отступа». ОРЛИ?
Хотя я вижу твою точку зрения. Если так задумано и вам это нравится, просто оставьте все как есть!