PTT推薦

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

看板Soft_Job標題[討論] switch大家怎麼排版?作者
freeman371
(自由人371)
時間推噓32 推:33 噓:1 →:35

很多程式語言都有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 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.138.77.7 (臺灣)
PTT 網址

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

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

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

ha87878711/27 19:491

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

guest808011/27 21:421然後case也加大括號

chuegou11/27 22:08case麻煩也括號

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

yamakazi11/27 22:29才划算

abc2108699911/27 22:37python 有這個ㄇ

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

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

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

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

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

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

t6414111/27 23:14種東西

abccbaandy11/27 23:48用IDE預設最好

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

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

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

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

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

ctrlbreak11/28 06:52會一團亂XD

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

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

lturtsamuel11/28 08:54問linter啊問我幹嘛

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

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

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

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

sniper282411/28 12:24看語言看公司

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

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

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

walinama11/28 13:161

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

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

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

AbyssBoys11/28 16:11IDE協助排

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

ma72111/28 18:03幾乎沒在用switch

pp12990811/28 19:53ctrl + alt + o

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

pot123411/28 21:473

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

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

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

shownlin11/29 02:19ing-style.html

shownlin11/29 02:19https://reurl.cc/x6rXr5

shownlin11/29 02:19就是case跟switch align

Dracarys11/29 02:223

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

jakert12311/29 10:56不要寫switch好嗎

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

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

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

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

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

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

qpowjohn11/29 18:37依循團隊習慣

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

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

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

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

ssccg11/30 14:22不用想這麼多

JoaoWang12/01 00:50都照公司