Saya agak bingung kapan atau tidak untuk memasukkan break
setelah kasus terakhir, sering default
.
switch (type) {
case 'product':
// Do behavior
break;
default:
// Do default behavior
break; // Is it considered to be needed?
}
break
Satu-satunya tujuan adalah dalam pemahaman saya untuk menghentikan kode dari menjalankan sisa switch
-kas.
Apakah kemudian dianggap lebih logis untuk memiliki yang break
terakhir karena konsistensi atau melewatkan memilikinya karena break
penerapan tidak menggunakan fungsional apa pun? Keduanya logis dalam berbagai cara menurut saya.
Ini bisa sampai tingkat tertentu dibandingkan dengan mengakhiri .php
file dengan ?>
. Saya tidak pernah berakhir dengan ?>
sebagian besar karena risiko menghasilkan ruang kosong, tetapi orang dapat berargumen bahwa akan menjadi hal yang logis untuk mengakhiri file.
sumber
break
kasus terakhir juga :)break
(atau pernyataan aliran kontrol lainnya yang keluarcase
) secara teknis diperlukan setelah alternatif terakhir.switch
fall-through dalam bahasa yang ada dan ingin mencegahnya. Aturan C # memberlakukan cukup cocok dengan rekomendasi dari jawaban saya.break
sebagai NO-OP alih-alih menghasilkan ajmp
ke instruksi selanjutnya, benar?Mengingat ambiguitas yang ada di sekitar penggunaan
switch-case
dalam sebagian besar bahasa, saat menggunakannya saya sarankan selalu menggunakanbreak
pernyataan, kecuali ketika itu secara eksplisit dan oleh desain tidak diinginkan .Sebagian karena ini membuat setiap
case
panggilan terlihat sama, yang menurut saya akan meningkatkan keterbacaan. Tetapi itu juga berarti jika seseorang (bahkan Anda) memilih untuk memasukkancase
setelah yang terakhir pada tahap selanjutnya, mereka tidak perlu khawatir dengan memeriksa blok sebelumnya, yang dapat membantu mengurangi bug saat menambahkan kode baru.sumber
case foo: case bar: ...
), saya memberikan komentar eksplisit bahwa saya ingin jatuh-melalui terjadi. Membuatnya lebih jelas.// no break
sebagai penggantibreak;
[[fallthrough]]
atribut dalam kasus C ++.Tidak
break
perlu setelah kasus terakhir . Saya menggunakan kata " last " (tidak default ) karena tidak perlu case default adalah case terakhir.Dan kita tahu, a
break
diperlukan antara duacase
s berurutan . Terkadang, saya menggunakanif(a!=0)
kode saya untuk lebih mudah dibaca ketika orang lain merujuk kode saya. Saya dapat memilih untuk menggunakanif(a)
, itu akan menjadi pilihan sayasumber
case
di akhir Andaswitch
tanpa memeriksa apakahbreak
memang ada (itu akan menjadi kesalahan programmer, tetapi masih lebih baik aman -jika karena alasan apa pun, karena Anda bisa menjadi programmer itu dalam 6 bulan-),
di akhir array jika nilai baru dimasukkan. Namun itu merusak beberapa kode dan umumnya terlihat jelek :),
. Memetikan,default
dirancang untuk menjadi kasus terakhir. Mungkin bahasa akan menganggapbreak
setelah itu sebagai kesalahan. Dengan asumsibreak
diizinkan sebagai pembeda SAJA antara dua kasus.