[討論] switch大家怎麼排版?

作者: freeman371 (自由人371)   2023-11-27 19:16:09
很多程式語言都有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
#1ZdgwAbM (Soft_Job) 我有問過XDDDDD
作者: accessdenied (存取違規)   2023-11-27 19:44: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:00
case麻煩也括號
作者: yamakazi (大安吳彥祖)   2023-11-27 22:29:00
clang-format就好,時間花在開發上面才划算
作者: abc21086999 (呵呵)   2023-11-27 22:37:00
python 有這個ㄇ
作者: yamakazi (大安吳彥祖)   2023-11-27 22:45:00
clang format 會自動幫你排版,存檔的時候自動排好
作者: viper9709 (阿達)   2023-11-27 22:50:00
個人習慣1~3也可以
作者: kurtsgm   2023-11-27 23:05:00
老問題 問就是 1. 依照公司規定 2. 依照不同語言慣例
作者: OriginStar   2023-11-27 23:08:00
我個人喜歡對稱排版,而且每個 case 都有 { },視覺上比較符合我的喜好,可以一眼就可以看初階層
作者: t64141 (榕樹)   2023-11-27 23:14:00
公司用的 IDE 或相關工具自動排版,不用花時間人工校對這種東西
作者: abccbaandy (敏)   2023-11-27 23:48:00
用IDE預設最好
作者: NDark (溺於黑暗)   2023-11-27 23:49:00
同樓上 有規則的公司請入職安裝IDE的時候一併把排版裝好如果沒裝就照預設
作者: j0958322080 (Tidus)   2023-11-27 23:59:00
python 在 3.10 後加入了
作者: sharek (...)   2023-11-28 06:46:00
用ide或lint 規則設一設,公司有統一就好
作者: ctrlbreak   2023-11-28 06:52:00
一律用自動的, 多人專案就設定同一規則, 不然檔案比對會一團亂XD
作者: andy0055 (王昆)   2023-11-28 08:16:00
IDE 預設就好+1你們部門應該大家都用相同IDE 吧?
作者: lturtsamuel (港都都教授)   2023-11-28 08:54:00
問linter啊問我幹嘛
作者: 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:00
IDE幫排完版 根本沒在注意
作者: sniper2824 (月夜)   2023-11-28 12:24:00
看語言看公司
作者: asdfghjklasd (好累的大一生活)   2023-11-28 12:30:00
我都叫馬力歐自己排
作者: longlongint (華哥爾)   2023-11-28 12:51:00
請到NSwitch專版發文(欸不是不重要 VS 直接F1 format this document
作者: walinama (奶油)   2023-11-28 13:16:00
1
作者: shvanta (vant)   2023-11-28 13:27:00
PHP語言的話,PSR-12有規定https://www.php-fig.org/psr/psr-12/#52-switch-case但現代的IDE都直接幫你處理好了,理論上不知道也沒關係
作者: 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
作者: pp129908 (阿兔)   2023-11-28 19:53:00
ctrl + alt + o
作者: TAKADO (朕沒給的你不能搶)   2023-11-28 20:05:00
IDE大部分預設都會排成1的樣子
作者: pot1234 (鍋子)   2023-11-28 21:47:00
3
作者: jack42107 (小克)   2023-11-28 23:27:00
照語言慣例啊 每個語言不見得一樣
作者: ZakuSIN (SIN)   2023-11-29 00:56:00
直接用IDE排版處理掉 就這樣
作者: shownlin (哈哈阿喔)   2023-11-29 02:18:00
我都照 Linux kernel coding stylehttps://www.kernel.org/doc/html/latest/process/coding-style.htmlhttps://reurl.cc/x6rXr5就是case跟switch align
作者: Dracarys (MayShowGunMore)   2023-11-29 02:22:00
3
作者: hermithsieh (hermit)   2023-11-29 07:07:00
我覺得程式能跑就好…
作者: jakert123 (kaka3315)   2023-11-29 10:56:00
不要寫switch好嗎
作者: jobintan (Robin Artemstein)   2023-11-29 13:11:00
不然是要寫if...else if...else if...這樣嗎?
作者: shooter555 (shooter)   2023-11-29 13:52:00
case 內大括號個人覺得醜 通常太多都直接再拆function不過基本上就是跟著project的風格走 怎麼訂怎麼寫要不然一人一種風格 整個更醜
作者: seedli (帶骨的火腿)   2023-11-29 13:54:00
用統一coding style的formatter就好啦,煩惱這個幹嘛
作者: ck237 (白色小雞)   2023-11-29 17:39:00
自動排版 +1,煩惱這個幹嘛
作者: qpowjohn (pose)   2023-11-29 18:37:00
依循團隊習慣
作者: notimenofree (逼逼逼逼逼)   2023-11-30 00:55:00
switch排版沒差吧…
作者: 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
照公司規定
作者: mrgyt1030 (Young)   2023-12-01 23:05:00
真爽 有時間煩惱這問題
作者: forewero (木日一)   2023-12-02 14:02:00
我都改用map/dictionary, switch臭臭
作者: newking761 (J三小)   2023-12-04 11:48:00
主要是看review的人會不會靠腰,不會就隨便
作者: superpandal   2023-12-04 21:43:00
我寫1 但是通常看很多c的project會寫3
作者: hooll111 (Katsudon)   2023-12-10 17:34:00
用if代替

Links booklink

Contact Us: admin [ a t ] ucptt.com