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

看板Soft_Job (軟體人)作者 (自由人371)時間8月前 (2023/11/27 19:16), 編輯推噓35(36137)
留言74則, 55人參與, 7月前最新討論串1/1
很多程式語言都有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

11/27 19:42, 8月前 , 1F
#1ZdgwAbM (Soft_Job) 我有問過XDDDDD
11/27 19:42, 1F

11/27 19:44, 8月前 , 2F
殺洨菜逼八問題...自己覺得怎樣不會眼花就怎樣好。
11/27 19:44, 2F

11/27 19:44, 8月前 , 3F
個人習慣(1)
11/27 19:44, 3F

11/27 19:49, 8月前 , 4F
1
11/27 19:49, 4F

11/27 20:21, 8月前 , 5F
不重要,看公司要什麼排版我就 寫什麼
11/27 20:21, 5F

11/27 21:42, 8月前 , 6F
1然後case也加大括號
11/27 21:42, 6F

11/27 22:08, 8月前 , 7F
case麻煩也括號
11/27 22:08, 7F

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

11/27 22:29, 8月前 , 9F
才划算
11/27 22:29, 9F

11/27 22:37, 8月前 , 10F
python 有這個ㄇ
11/27 22:37, 10F

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

11/27 22:50, 8月前 , 12F
個人習慣1~3也可以
11/27 22:50, 12F

11/27 23:05, 8月前 , 13F
老問題 問就是 1. 依照公司規定 2. 依照不同語言慣例
11/27 23:05, 13F

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

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

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

11/27 23:14, 8月前 , 17F
種東西
11/27 23:14, 17F

11/27 23:48, 8月前 , 18F
用IDE預設最好
11/27 23:48, 18F

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

11/27 23:49, 8月前 , 20F
如果沒裝就照預設
11/27 23:49, 20F

11/27 23:59, 8月前 , 21F
python 在 3.10 後加入了
11/27 23:59, 21F

11/28 06:46, 8月前 , 22F
用ide或lint 規則設一設,公司有統一就好
11/28 06:46, 22F

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

11/28 06:52, 8月前 , 24F
會一團亂XD
11/28 06:52, 24F

11/28 08:16, 8月前 , 25F
IDE 預設就好+1
11/28 08:16, 25F

11/28 08:16, 8月前 , 26F
你們部門應該大家都用相同IDE 吧?
11/28 08:16, 26F

11/28 08:54, 8月前 , 27F
問linter啊問我幹嘛
11/28 08:54, 27F

11/28 09:02, 8月前 , 28F
){ 中間可以空格嗎? ) {
11/28 09:02, 28F

11/28 11:05, 8月前 , 29F
除非公司有特別規定否則VSCode預設的就好別自找麻煩……
11/28 11:05, 29F

11/28 11:22, 8月前 , 30F
好久沒有手動排版了
11/28 11:22, 30F

11/28 11:58, 8月前 , 31F
IDE幫排完版 根本沒在注意
11/28 11:58, 31F

11/28 12:24, 8月前 , 32F
看語言看公司
11/28 12:24, 32F

11/28 12:30, 8月前 , 33F
我都叫馬力歐自己排
11/28 12:30, 33F

11/28 12:51, 8月前 , 34F
請到NSwitch專版發文(欸不是
11/28 12:51, 34F

11/28 12:52, 8月前 , 35F
不重要 VS 直接F1 format this document
11/28 12:52, 35F

11/28 13:16, 8月前 , 36F
1
11/28 13:16, 36F

11/28 13:27, 8月前 , 37F
PHP語言的話,PSR-12有規定
11/28 13:27, 37F

11/28 13:27, 8月前 , 38F

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

11/28 13:46, 8月前 , 40F
組內規定怎麼用就怎麼用 沒規定就自己開心順眼
11/28 13:46, 40F

11/28 16:11, 8月前 , 41F
IDE協助排
11/28 16:11, 41F

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

11/28 18:03, 8月前 , 43F
幾乎沒在用switch
11/28 18:03, 43F

11/28 19:53, 8月前 , 44F
ctrl + alt + o
11/28 19:53, 44F

11/28 20:05, 8月前 , 45F
IDE大部分預設都會排成1的樣子
11/28 20:05, 45F

11/28 21:47, 8月前 , 46F
3
11/28 21:47, 46F

11/28 23:27, 8月前 , 47F
照語言慣例啊 每個語言不見得一樣
11/28 23:27, 47F

11/29 00:56, 8月前 , 48F
直接用IDE排版處理掉 就這樣
11/29 00:56, 48F

11/29 02:18, 8月前 , 49F
我都照 Linux kernel coding style
11/29 02:18, 49F

11/29 02:18, 8月前 , 50F

11/29 02:19, 8月前 , 51F
ing-style.html
11/29 02:19, 51F

11/29 02:19, 8月前 , 52F
11/29 02:19, 52F

11/29 02:19, 8月前 , 53F
就是case跟switch align
11/29 02:19, 53F

11/29 02:22, 8月前 , 54F
3
11/29 02:22, 54F

11/29 07:07, 8月前 , 55F
我覺得程式能跑就好…
11/29 07:07, 55F

11/29 10:56, 8月前 , 56F
不要寫switch好嗎
11/29 10:56, 56F

11/29 13:11, 8月前 , 57F
不然是要寫if...else if...else if...這樣嗎?
11/29 13:11, 57F

11/29 13:52, 8月前 , 58F
case 內大括號個人覺得醜 通常太多都直接再拆function
11/29 13:52, 58F

11/29 13:53, 8月前 , 59F
不過基本上就是跟著project的風格走 怎麼訂怎麼寫
11/29 13:53, 59F

11/29 13:54, 8月前 , 60F
要不然一人一種風格 整個更醜
11/29 13:54, 60F

11/29 13:54, 8月前 , 61F
用統一coding style的formatter就好啦,煩惱這個幹嘛
11/29 13:54, 61F

11/29 17:39, 8月前 , 62F
自動排版 +1,煩惱這個幹嘛
11/29 17:39, 62F

11/29 18:37, 8月前 , 63F
依循團隊習慣
11/29 18:37, 63F

11/30 00:55, 8月前 , 64F
switch排版沒差吧…
11/30 00:55, 64F

11/30 01:54, 8月前 , 65F
可以不要用switch,用switch拜託簡單明瞭,不加大括號
11/30 01:54, 65F

11/30 08:47, 8月前 , 66F
預過編譯器處理case有沒有大括號行為不一樣…
11/30 08:47, 66F

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

11/30 14:22, 7月前 , 68F
不用想這麼多
11/30 14:22, 68F

12/01 00:50, 7月前 , 69F
都照公司
12/01 00:50, 69F

12/01 07:24, 7月前 , 70F
照公司規定
12/01 07:24, 70F

12/01 23:05, 7月前 , 71F
真爽 有時間煩惱這問題
12/01 23:05, 71F

12/02 14:02, 7月前 , 72F
我都改用map/dictionary, switch臭臭
12/02 14:02, 72F

12/04 11:48, 7月前 , 73F
主要是看review的人會不會靠腰,不會就隨便
12/04 11:48, 73F

12/04 21:43, 7月前 , 74F
我寫1 但是通常看很多c的project會寫3
12/04 21:43, 74F
文章代碼(AID): #1bP7fxne (Soft_Job)
文章代碼(AID): #1bP7fxne (Soft_Job)