Re: [討論] 大家的大括號習慣放在哪個位置?

看板C_and_CPP作者 (赤木巧☠)時間10年前 (2013/12/22 22:08), 編輯推噓10(10010)
留言20則, 13人參與, 最新討論串2/4 (看更多)
附帶一提,c++編程規範,第0條其實就提到了這個。 有提到三種 1. void func(){ } 2. void func() { } 3. void func() { } 不過書中的結論就是,無論哪一種,只要保持一致, 一個專業的程式設計師,基本都要能閱讀無礙。 我自己是用1,養成習慣了有點難改。 但我比較推薦2主要是偶爾會碰到像是這樣的function: (很多知名的lib都有這樣的code XD) void func(int a, int b, int c, int d,int e, int f,int g, int h,.........){ int kk; int ll; } 排板上會把他分行比較美觀,於是變成這樣的狀態。很容易跟內容混在一起了 void func(int a, int b, int c, int d, int e, int f,int g, int h,.........){ int kk; int ll; } 這時候如果用2.,就會變成這樣,清楚的分開: void func(int a, int b, int c, int d, int e, int f,int g, int h,.........) { int kk; int ll; } 這是我覺得"稍微好一點的部分",請不要戰我XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.163.46

12/22 22:28, , 1F
分行不會indent 這麼多吧...而且應該每個參數一行?
12/22 22:28, 1F

12/22 22:31, , 2F
參見google guide http://goo.gl/uCoRqD
12/22 22:31, 2F
沒有每個參數一行只是因為發文懶XD 所以示意一下

12/22 22:31, , 3F
參數分行時 indent 兩次? 我是習慣這樣不知道常見的guideline
12/22 22:31, 3F

12/22 22:34, , 4F
可能會遇到void funccccccccccccccccccccccccc..(..)這種的
12/22 22:34, 4F

12/22 23:52, , 5F
2跟3差再哪
12/22 23:52, 5F

12/23 00:15, , 6F
我覺的3超糟糕的…
12/23 00:15, 6F
※ 編輯: xtxml 來自: 123.193.163.46 (12/23 00:32)

12/23 00:57, , 7F
參數分行 indenet 兩次是為了和內容分開, 這個應該算常見
12/23 00:57, 7F

12/23 00:58, , 8F
還有像 if 後面的東西如果要分行也是 indent 兩層
12/23 00:58, 8F

12/23 13:28, , 9F
你在vi按gg=G任何一行拆成多行都是indent兩次
12/23 13:28, 9F

12/23 13:29, , 10F
這點始終讓我們沒辦法習慣,包括PERL的人
12/23 13:29, 10F

12/23 13:43, , 11F
3是為什麼 不懂
12/23 13:43, 11F

12/23 14:29, , 12F
3真的覺得挺奇特的 有人用嗎?
12/23 14:29, 12F

12/23 15:16, , 13F
3記得好處是可以很快找到對應括號 不受其他內容干擾
12/23 15:16, 13F

12/23 15:17, , 14F
但你的editor可以幫你找的話便不必要 而且太浪費空間
12/23 15:17, 14F

12/23 20:05, , 15F
一參數一行我看過,intel有些案子就這樣寫
12/23 20:05, 15F

12/23 22:54, , 16F
微而軟API的範例不就都是每個參數一行 -_-
12/23 22:54, 16F

12/24 00:20, , 17F
學生時代是1,現在是2吧
12/24 00:20, 17F

12/24 23:01, , 18F
AStyle如果你把para做分行 是會對齊第一個變數
12/24 23:01, 18F

12/24 23:02, , 19F
並不會是剛好一個tab,不過個人是不習慣用8spaces寬度的tab
12/24 23:02, 19F

12/25 03:15, , 20F
style 3在mingw-c++附的STL裡面很常見
12/25 03:15, 20F
文章代碼(AID): #1Ijl9lc8 (C_and_CPP)
文章代碼(AID): #1Ijl9lc8 (C_and_CPP)