Js-beautify: Lekukan aneh saat menggunakan switch-case

Dibuat pada 2 Agu 2010  ·  11Komentar  ·  Sumber: beautify-web/js-beautify

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

…menjadi…

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

Mungkin ini disengaja, tetapi saya berharap case akan diindentasi oleh 1 level (berdasarkan pengaturan).

Komentar yang paling membantu

IMHO, itu benar-benar tidak masuk akal. Alasan Crockford untuk menghilangkan indentasi tambahan adalah sebagai berikut: “Setiap kasing disejajarkan dengan sakelar. Ini menghindari lekukan yang berlebihan.” ORLY?

Aku mengerti maksudmu. Jika itu berdasarkan desain, dan Anda menyukainya, biarkan saja!

Semua 11 komentar

Ini dirancang, sesuai dengan konvensi Crockford, http://javascript.crockford.com/code.html , jadi — bukan bug.

IMHO, itu benar-benar tidak masuk akal. Alasan Crockford untuk menghilangkan indentasi tambahan adalah sebagai berikut: “Setiap kasing disejajarkan dengan sakelar. Ini menghindari lekukan yang berlebihan.” ORLY?

Aku mengerti maksudmu. Jika itu berdasarkan desain, dan Anda menyukainya, biarkan saja!

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

...dan kode yang sebenarnya tiba-tiba disingkirkan 2 indentasi, yang biasanya jauh lebih jelek daripada hanya memperlakukan switch/case sebagai case khusus yang tidak diindentasi.

Jelas, itu semua di mata yang melihatnya.

Saya tidak setuju dengan Crockford, dengan idenya itu jauh lebih sulit untuk memastikan akhir yang sebenarnya dari pernyataan switch. Dengan alur pemikirannya, mengapa membuat indentasi struktur kontrol sama sekali? Mereka semua menghasilkan penalti indentasi.

Saya pikir ini akan lebih baik, jika kebetulan bekerja pada resolusi 800x600:

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

    default:
    // code goes here
    break;
}

Akan senang untuk memiliki pilihan untuk ini; baik cara "normal" (seperti saya telah melihat pernyataan switch yang ditulis sepanjang hidup saya), atau cara yang saya tunjukkan di atas; apa pun kecuali default. Apakah Anda akan terbuka untuk patch, jika Anda secara pribadi tidak setuju atau melihat kebutuhan untuk itu?

Luar biasa, terima kasih banyak.

Bisakah kita memiliki opsi untuk ini? Mungkin tambahkan saja ke jslint happy?

Benci lemparan di spasi putih yang ceroboh untuk pernyataan sakelar.

@drewhjava Jangan ragu untuk membuka bug yang mereferensikan yang ini meminta opsi ini

Masalah ini sepertinya tidak terpecahkan?

Saya masih mendapatkan keindahan sakelar yang jelek. Apakah ini tidak diperbaiki?

misalnya

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

Ehh. Saya menambahkan kotak centang "jslint-happy" ke jsbeautifier.org.

Sempurna, terima kasih :)

Masalah lekukan ini berbeda dengan kode yang sama pada windows vs OSX. Contoh kasus adalah https://github.com/gpujs/gpu.js , ketika saya menjalankan yarn make itu mempercantik folder ./src , menggunakan skrip ini: https://github.com/ gpujs/gpu.js/blob/012cfff566691a8fa360e0af650a45c616ceff4a/gulpfile.js#L85

Apakah halaman ini membantu?
0 / 5 - 0 peringkat