![]() | 1 zyue 2015-04-06 15:18:57 +08:00 我是前一种 写java代码也是这样 |
![]() | 2 skydiver 2015-04-06 15:20:35 +08:00 ![]() 都不对,应该是这样 if { } else { } |
3 endrollex 2015-04-06 15:22:54 +08:00 后一种可以节约一行,喜欢紧凑,如果空出来太多觉得不舒服 |
![]() | 4 liuhaotian 2015-04-06 15:24:48 +08:00 for ($i=1;$i<5;$i++) { if () { } else { } } |
![]() | 5 vopfly 2015-04-06 15:27:51 +08:00 ![]() class A { A() { if (true) { } else { } } } 个人习惯:class, struct, function 另起一行,其他不 |
![]() | 6 vopfly 2015-04-06 15:28:27 +08:00 空格被狗吃了 |
![]() | 7 nicai000 2015-04-06 15:31:44 +08:00 这个有规矩的好吧! 可以嵌套的写在行尾, 不可以嵌套的另起一行. K&R, 内核, 甚至包括K的Go语言全是遵循这个原则的. |
![]() | 8 YouXia 2015-04-06 15:37:57 +08:00 以前第一种,后来我们组要求第二种,就慢慢适应第二种了。并且学了Go语言,所以,第二种就适应了。 |
![]() | 9 MrGba2z 2015-04-06 15:53:05 +08:00 via iPhone 以前是第一种 后来学校里全是第二种就改成第二种了。。 |
10 sudoz 2015-04-06 16:06:11 +08:00 Class的{另起一行; function的{ 空一格不换行 |
![]() | 11 zcbenz 2015-04-06 16:12:12 +08:00 ![]() Google C++ Style Guide https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Conditionals 风格什么样其实无所谓,统一就好。 |
![]() | 12 mnsw 2015-04-06 16:22:20 +08:00 以前是 ``` if { } else { } ``` 后来是 ``` if { } else { } ``` |
![]() | 13 bugeye 2015-04-06 16:26:04 +08:00 不写花括号,语号用逗号分隔,这样就没烦恼了吧。 |
![]() | 14 jiezhi 2015-04-06 16:27:48 +08:00 我写Java是: if { } else { } 写C/C++是: if { } else { } 写python时: 。。。 咦花括号呢? 不过在公司项目里,还得跟着前人走。 |
15 此帖还可以衍生出你们的括号前后带不带空格呢 FOO( A, B ) 还是 FOO(A, B) |
![]() | 17 lifanxi 2015-04-06 18:09:26 +08:00 我写C++用stroustrup风格,花括号永远独占一行。 |
![]() | 18 rentaro 2015-04-06 18:14:05 +08:00 C 是第一种, Java 是第二种。参考 Linux 内核文档有完整的代码规范 |
![]() | 19 leavic 2015-04-06 18:15:40 +08:00 第一种,强迫症肯定都这样。 |
![]() | 20 GeekCat 2015-04-06 18:18:32 +08:00 class{ function{ for{ if{ .... 换行的大括号不舒服!大括号换行会死星人! |
![]() | 21 GeekCat 2015-04-06 18:19:37 +08:00 当然我得承认这是从某些“宇宙级语言”带过来的习惯。。。。 |
![]() | 22 chiu 2015-04-06 18:20:14 +08:00 |
![]() | 23 XadillaX 2015-04-06 18:21:50 +08:00 我写 C 系是 if { } else { } 如果是 js 系的话 if { } else { } |
![]() | 24 ncisoft 2015-04-06 18:22:38 +08:00 via Android 独爱GNU coding standard if (...) { // code here } |
![]() | 25 FastMem 2015-04-06 18:22:42 +08:00 Java\php的时候 if () { //DO } else { } 单行语句省略花括号、 直接 if () xxxxx //do |
![]() | 26 ncisoft 2015-04-06 18:23:55 +08:00 via Android 花括号前面两个空格 |
![]() | 27 inevermore 2015-04-06 18:44:57 +08:00 前者 看着整齐 |
28 dreamtrail 2015-04-06 18:51:13 +08:00 if () { } else { } 我不能接受别的形势的代码风格,读代码前一定要重排成这种的风格。 |
![]() | 29 Majirefy 2015-04-06 18:58:05 +08:00 少年又挑起来宗教战争…… |
![]() | 30 zhchbin 2015-04-06 18:58:30 +08:00 if () { } else { } 但更多时候,如果能写成下面这种形式,就不会出现else了。 if () { ... return; } ... |
![]() | 31 kn007 2015-04-06 19:02:22 +08:00 我是2楼这种。。。 if { } else { } |
![]() | 32 rzti483NAJ66l669 2015-04-06 19:06:10 +08:00 if[tab]([space][space]) [tab]{ [tab]#code# [tab]} JAVA |
![]() | 33 Rob 2015-04-06 19:13:29 +08:00 第一种,看着舒服 |
![]() | 34 lincanbin 2015-04-06 19:15:34 +08:00 |
![]() | 35 typcn 2015-04-06 19:16:38 +08:00 JS 类的 if ( content ){ } else { } C 类的 if(content){ }else{ } IDE 强制纠正的除外 |
![]() | 36 ryd994 2015-04-06 19:18:35 +08:00 via Android 又是圣战贴 |
![]() | 37 hit9 2015-04-06 19:20:08 +08:00 if (balabala) { } else if (balabala) { } else { } |
![]() | 38 fetich 2015-04-06 19:21:02 +08:00 都了,是第一。 |
39 patrickstar 2015-04-06 19:49:48 +08:00 我一般用第一种,主要是看习惯了,括号配对的时候看起来都列对齐的 |
![]() | 40 heliar 2015-04-06 19:53:27 +08:00 不缩进不舒服的飘过。。。 |
![]() | 41 Monad 2015-04-06 20:50:01 +08:00 ![]() 必须是这样的 |
44 xxzs 2015-04-06 23:06:09 +08:00 via Android Linux kernel要求一行能写完的不加花括号 |
45 xieyudi1990 2015-04-06 23:13:58 +08:00 |
![]() | 46 clanned 2015-04-06 23:18:43 +08:00 via Android C/C++第一种,Java第二种。 |
![]() | 47 omi4399 2015-04-06 23:34:34 +08:00 K&R 飘过 |
48 andyhunter 2015-04-06 23:42:53 +08:00 永远独占一行 |
![]() | 49 xuwenmang 2015-04-06 23:48:58 +08:00 if { } else { } 优点1、在越来越宽的屏幕上能看到更多的代码; 优点2、{ 起到承上启下的作用; |
![]() | 50 styletjy 2015-04-06 23:58:09 +08:00 来找事儿的。。 |
![]() | 51 br00k 2015-04-07 01:33:14 +08:00 格式化。。。 |
![]() | 52 book1925 2015-04-07 02:03:35 +08:00 via Android 喜欢第一种,第二种偶尔会眼瞎搞错。。 |
![]() | 53 linux40 2015-04-07 07:00:56 +08:00 via Android ansc风格 |
![]() | 54 eqing 2015-04-07 08:20:13 +08:00 if (x) { xxx } else { xxx } 的路过 |
55 anguslg 2015-04-07 09:32:18 +08:00 好像是在问php是不是最好的语言一样 |
![]() | 56 revlis7 2015-04-07 10:14:57 +08:00 记得以前看ThinkInC里面提到的是用花括号与函数名同行的写法,这样可以明显区分是Declaration还是Definition |
![]() | 57 ehs2013 2015-04-07 10:25:25 +08:00 |
58 fliar 2015-04-07 10:27:00 +08:00 是另起一行,上下 看嵌套不太看走眼 |
![]() | 59 XDA 2015-04-07 10:29:10 +08:00 随缘... |
![]() | 61 ehs2013 2015-04-07 10:32:48 +08:00 @bugeye 你不知道什么时候,就要再在流程中添加一个语句。这样写的话无论何时都没有问题。 同理,在 C++ 中,我也会为每一个类写空析构函数。 |
![]() | 62 canautumn 2015-04-07 10:35:24 +08:00 ![]() @revlis7 看到你这个,想起来一个刚好相反的案例,刚在objc.io上看到omnigroup的惯例是(objective-c)不论definition还是declaration,函数名结尾都加分号;(一般definition是不加分号,直接写花括号。他们不仅是花括号另起一行,而且函数定义后边也加上分号)。理由和你说的刚好相反:方便将整行从declaration拷贝到definition,或者反过来。 |
![]() | 63 canautumn 2015-04-07 10:38:54 +08:00 ![]() @bugeye 前一段出了heartbleed漏洞后,有一种意见是即使花括号里是单行,也应该加花括号,理由是有可能在以后的维护中需要在花括号里加一行,甚至加一个调试输出,都要再麻烦加上花括号。就这样加/去花括号的一来一回中,一不小心就有可能忘记。再加上缩进,很有可能看错,就导致了heartbleed这类漏洞。 当然仅仅是一种意见而已。 |
64 Halry 2015-04-07 10:43:08 +08:00 via Android 第一种,好看一点, |
66 jun4rui 2015-04-07 11:41:00 +08:00 这不是可以和VIM、Emacs相提并论的程序员顶级圣战之一吗? |
![]() | 68 seki 2015-04-07 11:51:34 +08:00 这个不是公司统一代码风格的事情么,个人鼓捣的话可以参照某些公司的规则 |
![]() | 69 csslayer 2015-04-07 12:10:36 +08:00 |
70 qaulau 2015-04-07 13:30:08 +08:00 个人喜好这样,顶格写,看起来紧凑 if { } else { } |
![]() | 72 hippoboy 2015-04-07 13:48:25 +08:00 if { } else { } |
73 fashioncj 2015-04-07 13:55:29 +08:00 两种对折叠都没有影响-。- 主要是自动格式化的语法问题。 |
![]() | 74 evlos 2015-04-07 14:23:41 +08:00 via iPhone 本来我是第二种写法,给你们一讲我也想改成这样了XD if { } else { } |
75 zwzmzd 2015-04-07 14:45:33 +08:00 via iPad |
![]() | 76 Citrus 2015-04-07 14:48:00 +08:00 via iPhone @canautumn 非常同意,所以我的代码里不存在单行,所有的都写成代码块,调试的时候随手加减一行很方便,如果这个条件暂时不要了直接删掉都没问题。 |
77 raincious 2015-04-07 14:54:56 +08:00 微软表示要逼屎你们这些不另起一行写 { 的异类 ![]() (我已经老实了) (这就是为啥有的时候PHP写着写着:咦?怎么PSR2过不了了) |
78 perseawe 2015-04-07 15:10:56 +08:00 只要符合某种规范都可以,到时候其他人看的时候用IDE AutoStyle一下就好了。 一会缩进一会不缩进的直接打死,两元运算符两边不加空格的打死。 |
![]() | 79 pinepara 2015-04-07 15:12:12 +08:00 风格不重要,风格统一才重要。 http://clang.llvm.org/docs/ClangFormatStyleOptions.html |
80 niconiconi 2015-04-07 16:06:08 +08:00 坚决选择第一种。方便看 |
![]() | 81 Heng 2015-04-07 16:33:33 +08:00 |
82 lzgouo 2015-04-07 19:44:21 +08:00 像2楼那种写法 |
![]() | 83 fulvaz 2015-04-07 20:39:26 +08:00 讨论这个没有任何意义 花括号之后为了让你的代码分出块,更加易读,现在越来越多人发现,假如取消括号只使用缩进也能达到一样的视觉效果,还避免了后一个括号 } } } } } } 像这样的灾难 那你硬是要分出个高低的话 main(...) { } 更好 首先节省一行,让你的代码视野更广,能看到更多代码 其次,是行气,因为代码的内容应该是函数名称的承接,函数名应该接着代码,不能让思维被括号打断,所以{应该放到函数名称后面,而不是空一行 要战我把我老板叫上来,和你们辩到明年都行 |
![]() | 85 fatestigma 2015-04-07 22:51:06 +08:00 我个人喜欢第二种。但是我们学校很多书上采用第三种。。 if () { [code at here] } else { [code at here] } |
![]() | 86 yech1990 2015-04-08 01:35:44 +08:00 via Android The pythonic way if ( ) { [code...] } else { [code..] } |
![]() | 87 yech1990 2015-04-08 01:53:02 +08:00 via Android 居然吃掉我的缩进 >> if (a) { >> XXX } >> else { >> XXX } |
![]() | 88 ThomasZ 2015-04-08 17:39:08 +08:00 以前是第一种, 现在改成第二种了, 一个括号占一行太浪费了, 而且代码折叠以后第二种看着会好一点(vim自带的缩进折叠) |
![]() | 90 icylord 2015-04-08 20:38:30 +08:00 第一种。 |
![]() | 91 hector 2015-04-08 22:28:40 +08:00 ``` #define begin { #define end } void hello() begin std::cout<<"hello world"<<std::endl; end ``` |