Re: [討論] 寫三元判斷式code review被打槍

作者: k300plus (300plus)   2022-12-18 14:09:09
※ 引述《unixxxx (皓皓)》之銘言:
: 隨著語法的進步
: 很多會寫 code 的人都很少寫判斷式了
: 不管是三元還是 if else
: 寫太多的判斷式
: 如果….所以…否則…如果….則又…如果..
: 很不好閱讀
: 很多Javascript 高手都是用 switch 取代
說到switch,想來問問你各位公司的code style是下面哪種
(1)
switch Var1 {
case a:
xxx
case b:
xxx
default:
xxx
}
(2)
switch Var1 {
case a:
xxx
case b:
xxx
default:
xxx
}
差別就在case跟switch是不是對齊階層
老實說讀書時學的習慣是1
公司的code style是2
本魯到現在還是沒有很習慣
不知道到底比較約定俗成的style是哪種
作者: unixxxx (皓皓)   2022-12-18 14:23:00
都不是 應該空兩格就好
作者: bill0205 (善良的小孩沒人愛)   2022-12-18 14:33:00
1沒有+break會被電
作者: k300plus (300plus)   2022-12-18 14:35:00
啊手機縮排會跑掉 要用全版模式看才看得出差別
作者: shadow0326 (非議)   2022-12-18 15:07:00
從來沒看過1
作者: gpctv (gpctv)   2022-12-18 15:22:00
看整天才發現手機排版是一樣的,java switch沒加break我也被弄過
作者: kurtsgm   2022-12-18 15:51:00
有些比較新的語言預設不用break 減少新手踩坑的機率回到本文 不同語言的慣例不一樣 現在不都有自動排版嗎vscode autoformat按下去 那個就是你所謂的約定俗成style
作者: devilkool (對貓毛過敏的貓控)   2022-12-18 16:00:00
從來沒看過2
作者: kurtsgm   2022-12-18 16:26:00
Go跟Ruby的慣例是2其他語言多數是1
作者: SRmoisTEH (CBeneath)   2022-12-18 16:35:00
prefer 1
作者: lchcoding   2022-12-18 17:23:00
已經太細了...
作者: godddddd (howudoing)   2022-12-18 17:53:00
2 cr 很痛苦 我一定跟上司打架
作者: qwer338859 (溫莎公爵)   2022-12-18 18:12:00
沒看過2
作者: chuegou (chuegou)   2022-12-18 18:16:00
我是1 IDE自動排版是2 很猶豫要不要換 因為我case會加{}如果用2會有點錯亂
作者: GoalBased (Artificail Intelligence)   2022-12-18 18:17:00
不重要 照規定走 在乎這種問題沒意義
作者: Dracarys (MayShowGunMore)   2022-12-18 19:18:00
2
作者: NDark (溺於黑暗)   2022-12-18 19:50:00
我習慣1不過是visual studio的預設自動排造成的
作者: abc0922001 (中士abc)   2022-12-18 21:58:00
當然是1阿,VS ctrl+K、ctrl+D 就能自動排了
作者: pulin0823   2022-12-18 22:27:00
1
作者: viper9709 (阿達)   2022-12-18 23:37:00
這兩個都沒關係,但沒有break會出大事...
作者: sniper2824 (月夜)   2022-12-19 08:29:00
這很重要嗎 format調一下很難?
作者: Dinowchang (Dinow)   2022-12-19 08:33:00
1 是 visual studio style, 2 是 Linux kernel style通常工作跟 Linux 有關的話,比較常採用 2
作者: ohmylove347 (米特巴爾)   2022-12-19 09:18:00
看到2會中風喔喔氣氣氣
作者: Fantasylolz (尋找女王中的玥玥)   2022-12-19 11:52:00
我寫Swift的,Xcode的自動排版是2
作者: antpro (-_*|| 宅)   2022-12-19 12:20:00
都沒差,有 code formatter 的 IDE,也沒有完全相同。
作者: async (非同步)   2022-12-19 12:21:00
慣例被制定到這麼深 有意義嗎?
作者: MephistoH (默非斯托)   2022-12-19 13:27:00
記得..switch 底子裡也是 if else
作者: Ekmund (是一隻小叔)   2022-12-19 14:06:00
縮排還好 讓IDE決定w
作者: gs8613789 (Shang6029)   2022-12-19 14:37:00
看到2會中風吧
作者: WaterLengend (Leeeeeeeeooooooo)   2022-12-19 20:50:00
Go有go fmt啊
作者: DCTmaybe (竹竹人)   2022-12-19 21:18:00
不知道我問一下我家fmt
作者: triplee (none)   2022-12-20 11:38:00
比較怕的還是IDE沒調整好自己跟自己打架 不然這種排版問題真的丟給autofix就好 根本不需要煩惱
作者: ce173310 (Alan...)   2022-12-20 12:43:00
一個規則 左大括號的下一行要往內縮
作者: awenracious (Racious)   2022-12-20 19:41:00
給IDE自己排
作者: joe820730 (Let it go)   2022-12-20 20:13:00
Linux Kernel規定是2,但我自己寫的專案還是喜歡用1
作者: new122851 (未若柳絮因風起)   2022-12-21 00:43:00
Golang 2
作者: runedcross (Shiki)   2022-12-21 03:19:00
現在幾乎都2了吧
作者: Merkle (你在想奇怪的東西齁)   2022-12-21 10:09:00
1
作者: Rocker5566 (搖滾56)   2022-12-21 17:45:00
我都沒看過
作者: yupog2003 (屁股)   2022-12-21 21:45:00
我們公司如果var是enum的話有default會被電
作者: EricTao   2022-12-22 15:29:00
我只認gg=G的排版
作者: CloudyWing (孤單ㄉ翼)   2022-12-23 01:04:00
寫C#應該都是1,Java應該也是1居多,但是我看過2的
作者: jobintan (Robin Artemstein)   2022-12-23 10:12:00
有大括號的都選一,選二,看著不舒服,公司的規定,為了薪資與資歷,只好暫時捏著先,然後趕緊騎驢找馬了。因為VSCode自動排的都是第一,無論是哪種語言。
作者: chiky (.......................)   2022-12-23 14:30:00
我在linux上寫預設是2, 不過兩種我是覺得都無所謂
作者: LinuxKernel (Linus Torvalds)   2022-12-23 19:53:00
問就是2
作者: pot1234 (鍋子)   2022-12-24 08:11:00
2
作者: windclock (風時計)   2022-12-24 10:19:00
看公司規定
作者: superpandal   2022-12-24 19:13:00
通常我會寫1 但golang的formatter確實會把它弄成2 但兩者都沒有編譯錯誤vi類的縮排也很方便

Links booklink

Contact Us: admin [ a t ] ucptt.com