很多程式語言都有switch這個語法
例如:C、Java、PHP、JavaScript等
我時常用到switch都會有個猶疑
就是switch到底該怎麼排版好呢?
通常程式工程師在寫程式時
在大括號之內的程式會比括號外的增加一個tab(或多個空格)
其他則在同一層
但是今天的switch語法有個case
到底case到底要不要再增加個tab?
也就是像這樣:
switch(…){
case …:
…..;
break;
…..
}
因為case在switch的大括號當中
習慣上大括號裡的程式會多一個tab
不過case底下又有類似其副程式的程式
那case裡的程式是否又要再多一層tab?(不過case不是大括號刮住)
這樣就變成switch裡面一定有兩層以上的排版
大家都是怎麼寫switch語法的排版?
以下有三種排版方式:
1)
switch(…){
case …:
…..;
break;
…..
}
2)
switch(…){
case …:
…..;
break;
…..
}
3)
switch(…){
case …:
…..;
break;
…..
}
作者:
k300plus (300plus)
2023-11-27 19:42:00殺洨菜逼八問題...自己覺得怎樣不會眼花就怎樣好。個人習慣(1)
作者: ha878787 (==) 2023-11-27 19:49:00
1
作者:
Lhmstu (lhmstu)
2023-11-27 20:21:00不重要,看公司要什麼排版我就 寫什麼
作者: guest8080 2023-11-27 21:42:00
1然後case也加大括號
作者:
chuegou (chuegou)
2023-11-27 22:08:00case麻煩也括號
作者:
yamakazi (大安吳彥祖)
2023-11-27 22:29:00clang-format就好,時間花在開發上面才划算
作者:
yamakazi (大安吳彥祖)
2023-11-27 22:45:00clang format 會自動幫你排版,存檔的時候自動排好
老問題 問就是 1. 依照公司規定 2. 依照不同語言慣例
我個人喜歡對稱排版,而且每個 case 都有 { },視覺上比較符合我的喜好,可以一眼就可以看初階層
作者: t64141 (榕樹) 2023-11-27 23:14:00
公司用的 IDE 或相關工具自動排版,不用花時間人工校對這種東西
作者:
NDark (溺於黑暗)
2023-11-27 23:49:00同樓上 有規則的公司請入職安裝IDE的時候一併把排版裝好如果沒裝就照預設
作者:
sharek (...)
2023-11-28 06:46:00用ide或lint 規則設一設,公司有統一就好
作者: ctrlbreak 2023-11-28 06:52:00
一律用自動的, 多人專案就設定同一規則, 不然檔案比對會一團亂XD
IDE 預設就好+1你們部門應該大家都用相同IDE 吧?
作者:
kyoe (緣份‧不再)
2023-11-28 09:02:00){ 中間可以空格嗎? ) {
作者:
jobintan (Robin Artemstein)
2023-11-28 11:05:00除非公司有特別規定否則VSCode預設的就好別自找麻煩……
作者:
srwhite (魯蛇阿白)
2023-11-28 11:22:00好久沒有手動排版了
作者:
bill0205 (善良的小孩沒人愛)
2023-11-28 11:58:00IDE幫排完版 根本沒在注意
作者: longlongint (華哥爾) 2023-11-28 12:51:00
請到NSwitch專版發文(欸不是不重要 VS 直接F1 format this document
作者:
shvanta (vant)
2023-11-28 13:27:00作者:
acgotaku (otaku)
2023-11-28 13:46:00組內規定怎麼用就怎麼用 沒規定就自己開心順眼
作者: AbyssBoys 2023-11-28 16:11:00
IDE協助排
作者:
seanwu (海恩)
2023-11-28 17:45:00常常明明就沒歪,還是想要手賤按一下gg=G或Alt-Shift-F..
作者:
ma721 (UndeadJ)
2023-11-28 18:03:00幾乎沒在用switch
作者:
TAKADO (朕沒給的你不能搶)
2023-11-28 20:05:00IDE大部分預設都會排成1的樣子
作者:
pot1234 (鍋子)
2023-11-28 21:47:003
作者:
ZakuSIN (SIN)
2023-11-29 00:56:00直接用IDE排版處理掉 就這樣
作者:
Dracarys (MayShowGunMore)
2023-11-29 02:22:003
作者:
jobintan (Robin Artemstein)
2023-11-29 13:11:00不然是要寫if...else if...else if...這樣嗎?
case 內大括號個人覺得醜 通常太多都直接再拆function不過基本上就是跟著project的風格走 怎麼訂怎麼寫要不然一人一種風格 整個更醜
作者:
seedli (帶骨的火腿)
2023-11-29 13:54:00用統一coding style的formatter就好啦,煩惱這個幹嘛
作者:
ck237 (白色小雞)
2023-11-29 17:39:00自動排版 +1,煩惱這個幹嘛
作者:
Litfal (Litfal)
2023-11-30 01:54:00可以不要用switch,用switch拜託簡單明瞭,不加大括號
作者:
zxzx8059 (zxzx8059)
2023-11-30 08:47:00預過編譯器處理case有沒有大括號行為不一樣…
作者:
ssccg (23)
2023-11-30 14:22:00專案有規定照專案,沒規定IDE/編輯器預設的排下去不用想這麼多
作者: JoaoWang 2023-12-01 00:50:00
都照公司
作者:
una283 (無)
2023-12-01 07:24:00照公司規定
我都改用map/dictionary, switch臭臭
作者: superpandal 2023-12-04 21:43:00
我寫1 但是通常看很多c的project會寫3
作者:
hooll111 (Katsudon)
2023-12-10 17:34:00用if代替