[討論] switch大家怎麼排版?
很多程式語言都有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;
…..
}
--
#1ZdgwAbM (Soft_Job) 我有問過XDDDDD
殺洨菜逼八問題...自己覺得怎樣不會眼花就怎樣好。
個人習慣(1)
1
不重要,看公司要什麼排版我就 寫什麼
1然後case也加大括號
case麻煩也括號
clang-format就好,時間花在開發上面
才划算
python 有這個ㄇ
clang format 會自動幫你排版,存檔的時候自動排好
個人習慣1~3也可以
老問題 問就是 1. 依照公司規定 2. 依照不同語言慣例
我個人喜歡對稱排版,而且每個 case 都有 { },視覺上
比較符合我的喜好,可以一眼就可以看初階層
公司用的 IDE 或相關工具自動排版,不用花時間人工校對這
種東西
用IDE預設最好
同樓上 有規則的公司請入職安裝IDE的時候一併把排版裝好
如果沒裝就照預設
python 在 3.10 後加入了
用ide或lint 規則設一設,公司有統一就好
一律用自動的, 多人專案就設定同一規則, 不然檔案比對
會一團亂XD
IDE 預設就好+1
你們部門應該大家都用相同IDE 吧?
問linter啊問我幹嘛
){ 中間可以空格嗎? ) {
除非公司有特別規定否則VSCode預設的就好別自找麻煩……
好久沒有手動排版了
IDE幫排完版 根本沒在注意
看語言看公司
我都叫馬力歐自己排
請到NSwitch專版發文(欸不是
不重要 VS 直接F1 format this document
1
PHP語言的話,PSR-12有規定
但現代的IDE都直接幫你處理好了,理論上不知道也沒關係
組內規定怎麼用就怎麼用 沒規定就自己開心順眼
IDE協助排
常常明明就沒歪,還是想要手賤按一下gg=G或Alt-Shift-F..
幾乎沒在用switch
ctrl + alt + o
IDE大部分預設都會排成1的樣子
3
照語言慣例啊 每個語言不見得一樣
直接用IDE排版處理掉 就這樣
我都照 Linux kernel coding style
ing-style.html
就是case跟switch align
3
我覺得程式能跑就好…
不要寫switch好嗎
不然是要寫if...else if...else if...這樣嗎?
case 內大括號個人覺得醜 通常太多都直接再拆function
不過基本上就是跟著project的風格走 怎麼訂怎麼寫
要不然一人一種風格 整個更醜
用統一coding style的formatter就好啦,煩惱這個幹嘛
自動排版 +1,煩惱這個幹嘛
依循團隊習慣
switch排版沒差吧…
可以不要用switch,用switch拜託簡單明瞭,不加大括號
預過編譯器處理case有沒有大括號行為不一樣…
專案有規定照專案,沒規定IDE/編輯器預設的排下去
不用想這麼多
都照公司
40
[問卦] 程式能寫if 就不要用for loop?以前寫程式覺得要看起來厲害 明明能用if的 我會先建一個table 然後再用for loop尋找 好處是數量增加時增加的程式碼少 壞處是寫的時候和以後回來看的時候比較麻煩36
[2022] 外媒評選3大平台最佳獨佔遊戲Top 5By Gamespot The 5 Best Nintendo Switch-Exclusive Games Of 2022 Mario + Rabbids: Kingdom Battle Xenoblade Chronicles 324
Re: [討論] 寫三元判斷式code review被打槍說到switch,想來問問你各位公司的code style是下面哪種 (1) switch Var1 { case a: xxx9
Re: [討論] 寫三元判斷式code review被打槍"特定"情況下的確是好方式 舉個例子 以前我在調校能時候有用過這種方式 這是c#的code部分節錄 void Mem_w(ushort address, byte value) { if (address < 0x2000) NES_MEM[address & 0x7ff] = value;7
Re: [Vtub] Vedal罕見被自己的AI女兒neuro罵到破防借個推文的圖 YanderDev的程式碼 請問這個正常來說是怎麼寫啊? switch case?6
Re: [心得]以策略模式重構switch case或if (影片)恕刪 策略模式不就是一個戰鬥機器人 防禦模式就護甲值+20 攻擊模式就攻擊力+50 閃避率-10% 回復模式就自動補血+5hp4
[問卦] 任天堂Switch 直接連網會不會有問題如題我包恩 為了讓Switch有NAT A,蠻多會把分享器開DMZ給Switch 我自己目前也是讓Switch有單獨一個IP對外, 不過網路上不少自動程式都會掃Port或是丟UDP封包, 看Router紀錄,被丟蠻多UDP packet 到 5060 port的3
Re: [問卦] if 明天停電,要想什麼理由?:----以下原文恕刪---- 不才答題一下,有誤請原諒能力有限 ----------------- if (明天停電) { 停電 = 明天停電;2
Re: [心情] 工作的內容被放大檢視我怎麼覺得是在找麻煩, 不管是老鳥,還是主管,我就不相信有人可以 速度十分快又完全沒有任何bug,程式精簡到沒任何一絲一毫多餘的斷行 tab或空白或多 餘效率不好的code,或程式中有重覆使用的code(沒精簡包在fuction中) 沒任何bug代表寫完要不斷測試所有各種可能的case,這1
[問題] 換手機,SD卡裡的程式要怎麼轉移?目前用的是S7E 準備用 smart switch 換到S21 但SD卡裡有一些本機裝不下的程式 請問這些程式 也會被 smart switch 無痛轉到新機嗎?