看板 Soft_Job 關於我們 聯絡資訊
很多程式語言都有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: 但現代的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: 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