Js-beautify: ブレーススタイルの違いは? (折りたたみと拡張の終了)

作成日 2014年12月19日  ·  3コメント  ·  ソース: beautify-web/js-beautify

これまでに回答したことがあるか、どこかで説明されている場合は申し訳ありませんが、見つかりませんでした。

まず、例から始めましょう。 私のコードには、関数の設定を保持するオブジェクトがたくさんあります。 オプションbrace_style: collapseを使用すると、次のようになります。

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

しかし、多分それが十分に大きい場合(3つ以上のプロパティのように?多分それは設定かもしれませんか?):

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

代わりにこれを行うことを除いて:

someFunc( { 
  set: 'string' 
} );

これらのオブジェクトが多く使用されている場合、非常に読みにくくなる可能性があります。 「折りたたみ」とは、中括弧で囲まれた小さなコード(ステートメント、オブジェクト、無名関数など)がすべて1行にとどまるという意味です。

また、「collapse」と「end-expand」の違いもわかりません。 私が知る限り、彼らは同じことをします。

最も参考になるコメント

最初の部分は#338のように聞こえます。

「折りたたみ」オプションは、最初の中括弧がその前にあるものと同じ行にあるか、それ自体の行にあるかを制御するだけです。後から来るもの(中括弧内)は処理しません。

「collapse」と「end-expand」の違いは、特定の場合に終了中括弧がどのように扱われるかです。 例えば:

「collapse」はこれを行い、 ifの閉じ中括弧をelseキーワードと同じ行に配置します。

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

「end-expand」はこれを行いますが、 ifの閉じ中括弧を独自の行に配置します。

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

hth

全てのコメント3件

最初の部分は#338のように聞こえます。

「折りたたみ」オプションは、最初の中括弧がその前にあるものと同じ行にあるか、それ自体の行にあるかを制御するだけです。後から来るもの(中括弧内)は処理しません。

「collapse」と「end-expand」の違いは、特定の場合に終了中括弧がどのように扱われるかです。 例えば:

「collapse」はこれを行い、 ifの閉じ中括弧をelseキーワードと同じ行に配置します。

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

「end-expand」はこれを行いますが、 ifの閉じ中括弧を独自の行に配置します。

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

hth

@ c32hedgeに感謝します。これは、処理中のかなり人気のあるリクエストのようです。 #315

素晴らしい説明です、私は今それを理解しています。 私はそれがその周りで起こっていることではなく、中かっこにあるものに関係していると思っていました。 これの簡単な説明を含むようにドキュメントを更新できるかどうか疑問に思いますか?

Googleでjs-beautify brace-style explainを検索すると、この問題が発生します。 コードを読まずにこれを本当に学びたい人は、彼らが望むものを手に入れることができます。

このページは役に立ちましたか?
0 / 5 - 0 評価