Js-beautify: Différence entre les styles d'accolades ? (réduire vs fin-déplier)

Créé le 19 déc. 2014  ·  3Commentaires  ·  Source: beautify-web/js-beautify

Désolé si cela a déjà été répondu ou est expliqué quelque part, mais je ne l'ai pas trouvé.

Permettez-moi d'abord de commencer par un exemple. Dans mon code, j'ai beaucoup d'objets qui contiennent des paramètres pour les fonctions. Avec l'option brace_style: collapse , je m'attendrais à :

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

Mais peut-être que si c'est assez grand (comme 3 propriétés ou plus ? Peut-être que cela pourrait être un paramètre ?):

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

Sauf qu'il fait plutôt ceci :

someFunc( { 
  set: 'string' 
} );

Lorsqu'un grand nombre de ces objets sont utilisés, il peut être assez difficile à lire. J'aimerais que "réduire" signifie que le code entre accolades plus petit (instructions, objets, fonctions anonymes, etc.) resterait sur une seule ligne.

Je ne vois pas non plus de différence entre "réduire" et "fin de développer". Autant que je sache, ils font la même chose.

Commentaire le plus utile

La première partie sonne comme #338.

L'option "réduire" contrôle simplement si l'accolade ouvrante est sur la même ligne que ce qui vient _avant_ elle, ou sur sa propre ligne -- elle ne traite pas ce qui vient après (à l'intérieur des accolades).

La différence entre "réduire" et "développer à la fin" est la façon dont l'accolade de fin est traitée dans certains cas. Par exemple:

"collapse" ferait cela, en mettant l'accolade fermante pour le if sur la même ligne que le mot-clé else :

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

Alors que "end-expand" ferait cela, en mettant l'accolade fermante pour le if sur sa propre ligne :

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

hth

Tous les 3 commentaires

La première partie sonne comme #338.

L'option "réduire" contrôle simplement si l'accolade ouvrante est sur la même ligne que ce qui vient _avant_ elle, ou sur sa propre ligne -- elle ne traite pas ce qui vient après (à l'intérieur des accolades).

La différence entre "réduire" et "développer à la fin" est la façon dont l'accolade de fin est traitée dans certains cas. Par exemple:

"collapse" ferait cela, en mettant l'accolade fermante pour le if sur la même ligne que le mot-clé else :

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

Alors que "end-expand" ferait cela, en mettant l'accolade fermante pour le if sur sa propre ligne :

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

hth

Merci @c32hedge , il semble que ce soit une demande assez populaire qui est en train d'être remplie ! #315

Excellente explication, je comprends maintenant. Je pensais que ça avait à voir avec ce qu'il y avait dans les accolades, pas avec ce qui se passait autour. Je me demande si la documentation pourrait être mise à jour pour inclure une brève explication à ce sujet ?

La recherche js-beautify brace-style explain sur Google entraînera ce problème. Ceux qui veulent vraiment apprendre cela sans lire le code peuvent obtenir ce qu'ils veulent.

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