Js-beautify: Recuo estranho ao usar o switch-case

Criado em 2 ago. 2010  ·  11Comentários  ·  Fonte: beautify-web/js-beautify

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

…torna-se…

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

Talvez isso seja intencional, mas eu esperaria que case fosse recuado em 1 nível (com base nas configurações).

Comentários muito úteis

IMHO, isso realmente não faz sentido. O raciocínio de Crockford para omitir os recuos extras é o seguinte: “Cada caso está alinhado com a chave. Isso evita o excesso de recuo.” ORLY?

Eu vejo seu ponto embora. Se é por design, e você gosta desse jeito, apenas deixe do jeito que está!

Todos 11 comentários

É por design, de acordo com as convenções de Crockford, http://javascript.crockford.com/code.html , então - não é um bug.

IMHO, isso realmente não faz sentido. O raciocínio de Crockford para omitir os recuos extras é o seguinte: “Cada caso está alinhado com a chave. Isso evita o excesso de recuo.” ORLY?

Eu vejo seu ponto embora. Se é por design, e você gosta desse jeito, apenas deixe do jeito que está!

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

...e o código real de repente é empurrado 2 recuos, o que geralmente é muito mais feio do que apenas tratar switch/case como um caso especial sem recuo.

Obviamente, tudo isso está nos olhos de quem vê.

Eu discordo de Crockford, com sua ideia é extremamente mais difícil determinar o final real da declaração de troca. Por sua linha de raciocínio, por que recuar quaisquer estruturas de controle? Todos eles rendem uma penalidade de recuo.

Eu acho que isso seria melhor, se por acaso funcionasse em uma resolução de 800x600:

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

    default:
    // code goes here
    break;
}

Adoraria ter uma opção para isso; ou da maneira "normal" (como eu vi instruções switch escritas minha vida inteira), ou da maneira que demonstrei acima; qualquer coisa menos o padrão. Você estaria aberto a um patch, se pessoalmente não concorda ou vê a necessidade dele?

Impressionante, muito obrigado.

Podemos ter uma opção para isso? Talvez apenas adicioná-lo ao jslint happy?

Odeie o lançamento de espaços em branco desleixados para uma instrução switch.

@drewhjava Sinta-se à vontade para abrir um bug referenciando este solicitando esta opção

Este problema não parece resolvido?

Eu ainda recebo o embelezamento feio do interruptor. Isso não foi corrigido?

por exemplo

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

Eh. Eu adicionei uma caixa de seleção "jslint-happy" ao jsbeautifier.org.

Perfeito, obrigado :)

Esse problema de recuo é diferente com o mesmo código no Windows vs OSX. O caso em questão é https://github.com/gpujs/gpu.js , quando executo yarn make ele embeleza a pasta ./src , usando este script: https://github.com/ gpujs/gpu.js/blob/012cfff566691a8fa360e0af650a45c616ceff4a/gulpfile.js#L85

Esta página foi útil?
0 / 5 - 0 avaliações