Js-beautify: الفرق بين أنماط الدعامة؟ (تصغير مقابل إنهاء توسيع)

تم إنشاؤها على ١٩ ديسمبر ٢٠١٤  ·  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' 
} );

عند استخدام الكثير من هذه العناصر ، قد يكون من الصعب جدًا قراءتها. أود "الانهيار" ليعني أن الكود الصغير المتعرج (العبارات ، والكائنات ، والوظائف المجهولة ، وما إلى ذلك) ستبقى جميعها في سطر واحد.

كما أنني لا أرى فرقًا بين "الانهيار" و "توسيع النهاية". بقدر ما أستطيع أن أقول ، فإنهم يفعلون نفس الشيء.

التعليق الأكثر فائدة

يبدو الجزء الأول مثل # 338.

يتحكم خيار "الانهيار" فقط في ما إذا كان قوس الفتح المتعرج على نفس الخط مثل الأشياء التي تأتي قبله ، أو على السطر الخاص به - فهو لا يتعامل مع الأشياء التي تأتي بعد ذلك (داخل الأقواس المتعرجة).

يتمثل الاختلاف بين "الانهيار" و "توسيع النهاية" في كيفية معالجة قوس النهاية المتعرج في حالات معينة. علي سبيل المثال:

يؤدي "الانهيار" إلى القيام بذلك ، عن طريق وضع قوس الإغلاق لـ if على نفس السطر مثل الكلمة الرئيسية else :

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

في حين أن "end-expand" ستفعل ذلك ، بوضع قوس الإغلاق لـ if على السطر الخاص بها:

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

ح

ال 3 كومينتر

يبدو الجزء الأول مثل # 338.

يتحكم خيار "الانهيار" فقط في ما إذا كان قوس الفتح المتعرج على نفس الخط مثل الأشياء التي تأتي قبله ، أو على السطر الخاص به - فهو لا يتعامل مع الأشياء التي تأتي بعد ذلك (داخل الأقواس المتعرجة).

يتمثل الاختلاف بين "الانهيار" و "توسيع النهاية" في كيفية معالجة قوس النهاية المتعرج في حالات معينة. علي سبيل المثال:

يؤدي "الانهيار" إلى القيام بذلك ، عن طريق وضع قوس الإغلاق لـ if على نفس السطر مثل الكلمة الرئيسية else :

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

في حين أن "end-expand" ستفعل ذلك ، بوضع قوس الإغلاق لـ if على السطر الخاص بها:

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

ح

شكرًا @ c32hedge ، يبدو أن هذا طلب شائع إلى حد ما قيد التنفيذ! # 315

شرح رائع ، فهمت الآن. كنت أفكر في أن الأمر يتعلق بما كان في المشابك ، وليس بما يحدث حوله. أتساءل عما إذا كان من الممكن تحديث الوثائق لتشمل شرحًا موجزًا ​​لذلك؟

سيؤدي البحث في js-beautify brace-style explain على Google إلى حدوث هذه المشكلة. أولئك الذين يرغبون حقًا في تعلم هذا دون قراءة الكود يمكنهم الحصول على ما يريدون.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات