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

看板 Soft_Job
作者 freeman371 (自由人371)
時間 2023-11-27 19:16:09
留言 75則留言 (37推 1噓 37→)

很多程式語言都有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; ….. } --
※ 批踢踢實業坊(ptt.cc), 來自: 223.138.77.7 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1701083771.A.C68.html

k300plus: #1ZdgwAbM (Soft_Job) 我有問過XDDDDD 11/27 19:42

accessdenied: 殺洨菜逼八問題...自己覺得怎樣不會眼花就怎樣好。 11/27 19:44

accessdenied: 個人習慣(1) 11/27 19:44

ha878787: 1 11/27 19:49

Lhmstu: 不重要,看公司要什麼排版我就 寫什麼 11/27 20:21

guest8080: 1然後case也加大括號 11/27 21:42

chuegou: case麻煩也括號 11/27 22:08

yamakazi: clang-format就好,時間花在開發上面 11/27 22:29

yamakazi: 才划算 11/27 22:29

abc21086999: python 有這個ㄇ 11/27 22:37

yamakazi: clang format 會自動幫你排版,存檔的時候自動排好 11/27 22:45

viper9709: 個人習慣1~3也可以 11/27 22:50

kurtsgm: 老問題 問就是 1. 依照公司規定 2. 依照不同語言慣例 11/27 23:05

OriginStar: 我個人喜歡對稱排版,而且每個 case 都有 { },視覺上 11/27 23:08

OriginStar: 比較符合我的喜好,可以一眼就可以看初階層 11/27 23:09

t64141: 公司用的 IDE 或相關工具自動排版,不用花時間人工校對這 11/27 23:14

t64141: 種東西 11/27 23:14

abccbaandy: 用IDE預設最好 11/27 23:48

NDark: 同樓上 有規則的公司請入職安裝IDE的時候一併把排版裝好 11/27 23:49

NDark: 如果沒裝就照預設 11/27 23:49

j0958322080: python 在 3.10 後加入了 11/27 23:59

sharek: 用ide或lint 規則設一設,公司有統一就好 11/28 06:46

ctrlbreak: 一律用自動的, 多人專案就設定同一規則, 不然檔案比對 11/28 06:52

ctrlbreak: 會一團亂XD 11/28 06:52

andy0055: IDE 預設就好+1 11/28 08:16

andy0055: 你們部門應該大家都用相同IDE 吧? 11/28 08:16

lturtsamuel: 問linter啊問我幹嘛 11/28 08:54

kyoe: ){ 中間可以空格嗎? ) { 11/28 09:02

jobintan: 除非公司有特別規定否則VSCode預設的就好別自找麻煩…… 11/28 11:05

srwhite: 好久沒有手動排版了 11/28 11:22

bill0205: IDE幫排完版 根本沒在注意 11/28 11:58

sniper2824: 看語言看公司 11/28 12:24

asdfghjklasd: 我都叫馬力歐自己排 11/28 12:30

longlongint: 請到NSwitch專版發文(欸不是 11/28 12:51

longlongint: 不重要 VS 直接F1 format this document 11/28 12:52

walinama: 1 11/28 13:16

shvanta: PHP語言的話,PSR-12有規定 11/28 13:27

shvanta: https://www.php-fig.org/psr/psr-12/#52-switch-case 11/28 13:27

shvanta: 但現代的IDE都直接幫你處理好了,理論上不知道也沒關係 11/28 13:28

acgotaku: 組內規定怎麼用就怎麼用 沒規定就自己開心順眼 11/28 13:46

AbyssBoys: IDE協助排 11/28 16:11

seanwu: 常常明明就沒歪,還是想要手賤按一下gg=G或Alt-Shift-F.. 11/28 17:45

ma721: 幾乎沒在用switch 11/28 18:03

pp129908: ctrl + alt + o 11/28 19:53

TAKADO: IDE大部分預設都會排成1的樣子 11/28 20:05

pot1234: 3 11/28 21:47

jack42107: 照語言慣例啊 每個語言不見得一樣 11/28 23:27

ZakuSIN: 直接用IDE排版處理掉 就這樣 11/29 00:56

shownlin: 我都照 Linux kernel coding style 11/29 02:18

shownlin: https://www.kernel.org/doc/html/latest/process/cod 11/29 02:18

shownlin: ing-style.html 11/29 02:19

shownlin: https://reurl.cc/x6rXr5 11/29 02:19

shownlin: 就是case跟switch align 11/29 02:19

Dracarys: 3 11/29 02:22

hermithsieh: 我覺得程式能跑就好… 11/29 07:07

jakert123: 不要寫switch好嗎 11/29 10:56

jobintan: 不然是要寫if...else if...else if...這樣嗎? 11/29 13:11

shooter555: case 內大括號個人覺得醜 通常太多都直接再拆function 11/29 13:52

shooter555: 不過基本上就是跟著project的風格走 怎麼訂怎麼寫 11/29 13:53

shooter555: 要不然一人一種風格 整個更醜 11/29 13:54

seedli: 用統一coding style的formatter就好啦,煩惱這個幹嘛 11/29 13:54

ck237: 自動排版 +1,煩惱這個幹嘛 11/29 17:39

qpowjohn: 依循團隊習慣 11/29 18:37

notimenofree: switch排版沒差吧… 11/30 00:55

Litfal: 可以不要用switch,用switch拜託簡單明瞭,不加大括號 11/30 01:54

zxzx8059: 預過編譯器處理case有沒有大括號行為不一樣… 11/30 08:47

ssccg: 專案有規定照專案,沒規定IDE/編輯器預設的排下去 11/30 14:22

ssccg: 不用想這麼多 11/30 14:22

JoaoWang: 都照公司 12/01 00:50

una283: 照公司規定 12/01 07:24

mrgyt1030: 真爽 有時間煩惱這問題 12/01 23:05

forewero: 我都改用map/dictionary, switch臭臭 12/02 14:02

newking761: 主要是看review的人會不會靠腰,不會就隨便 12/04 11:48

superpandal: 我寫1 但是通常看很多c的project會寫3 12/04 21:43

hooll111: 用if代替 12/10 17:34

您可能感興趣