Js-beautify: Indentation étrange lors de l'utilisation du boîtier de commutation

Créé le 2 août 2010  ·  11Commentaires  ·  Source: beautify-web/js-beautify

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

…devient…

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

C'est peut-être intentionnel, mais je m'attendrais à ce que le case soit en retrait d'un niveau (en fonction des paramètres).

Commentaire le plus utile

À mon humble avis, cela n'a vraiment aucun sens. Le raisonnement de Crockford pour omettre les tirets supplémentaires est le suivant : « Chaque cas est aligné avec le commutateur. Cela évite la sur-indentation. ORLY ?

Je vois votre point cependant. Si c'est par conception et que vous l'aimez ainsi, laissez-le tel quel !

Tous les 11 commentaires

C'est par conception, selon les conventions de Crockford, http://javascript.crockford.com/code.html , donc - pas un bogue.

À mon humble avis, cela n'a vraiment aucun sens. Le raisonnement de Crockford pour omettre les tirets supplémentaires est le suivant : « Chaque cas est aligné avec le commutateur. Cela évite la sur-indentation. ORLY ?

Je vois votre point cependant. Si c'est par conception et que vous l'aimez ainsi, laissez-le tel quel !

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

... et le vrai code est soudainement repoussé de 2 retraits, ce qui est généralement beaucoup plus moche que de simplement traiter switch/case comme un cas spécial non indenté.

De toute évidence, tout est dans l'œil du spectateur.

Je ne suis pas d'accord avec Crockford, avec son idée, il est extrêmement plus difficile de déterminer la fin réelle de l'instruction switch. Selon son raisonnement, pourquoi mettre en retrait des structures de contrôle ? Ils donnent tous une peine d'indentation.

Je pense que ce serait mieux si l'on travaillait sur une résolution de 800x600 :

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

    default:
    // code goes here
    break;
}

J'adorerais avoir une option pour cela; soit de la manière "normale" (comme j'ai vu des déclarations de commutateur écrites toute ma vie), soit de la manière que j'ai démontrée ci-dessus ; tout sauf la valeur par défaut. Seriez-vous ouvert à un correctif, si vous n'êtes pas personnellement d'accord ou n'en voyez pas la nécessité ?

Génial, merci beaucoup.

Pouvons-nous avoir une option pour cela? Peut-être juste l'ajouter à jslint happy?

Je déteste le lancer dans un espace blanc bâclé pour une instruction switch.

@drewhjava N'hésitez pas à ouvrir un bogue faisant référence à celui-ci demandant cette option

Ce problème ne semble pas résolu ?

Je reçois toujours l'embellissement laid du commutateur. Ce n'était pas réglé ?

par exemple

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

Ehh. J'ai ajouté une case à cocher "jslint-happy" à jsbeautifier.org.

Parfait, merci :)

Ce problème d'indentation est différent avec le même code sur Windows vs OSX. Le cas d'espèce est https://github.com/gpujs/gpu.js , quand j'exécute yarn make il embellit le dossier ./src , en utilisant ce script : https://github.com/ gpujs/gpu.js/blob/012cfff566691a8fa360e0af650a45c616ceff4a/gulpfile.js#L85

Cette page vous a été utile?
0 / 5 - 0 notes