C/C++猿们,你们的花括号{}都习惯怎么写?

2015-04-06 15:12:59 +08:00
 mocodo
是这样:
if
{
}
else
{
}
还是这样:
if {
}
else {
}
呢?

我觉得后一种写法不对称,看着很别扭,可很多代码都这样写。。。
4519 次点击
所在节点    C
91 条回复
ehs2013
2015-04-07 10:32:48 +08:00
@bugeye 你不知道什么时候,就要再在流程中添加一个语句。这样写的话无论何时都没有问题。
同理,在 C++ 中,我也会为每一个类写空析构函数。
canautumn
2015-04-07 10:35:24 +08:00
@revlis7 看到你这个,想起来一个刚好相反的案例,刚在objc.io上看到omnigroup的惯例是(objective-c)不论definition还是declaration,函数名结尾都加分号;(一般definition是不加分号,直接写花括号。他们不仅是花括号另起一行,而且函数定义后边也加上分号)。理由和你说的刚好相反:方便将整行从declaration拷贝到definition,或者反过来。
canautumn
2015-04-07 10:38:54 +08:00
@bugeye 前一段出了heartbleed漏洞后,有一种意见是即使花括号里是单行,也应该加花括号,理由是有可能在以后的维护中需要在花括号里加一行,甚至加一个调试输出,都要再麻烦加上花括号。就这样加/去花括号的一来一回中,一不小心就有可能忘记。再加上缩进,很有可能看错,就导致了heartbleed这类漏洞。

当然仅仅是一种意见而已。
Halry
2015-04-07 10:43:08 +08:00
第一种,好看一点,
revlis7
2015-04-07 10:46:22 +08:00
@canautumn 其实我也怀疑书里的说法,因为Declaration都是有分号的,倒觉得你说的更有实际价值。
jun4rui
2015-04-07 11:41:00 +08:00
这不是可以和VIM、Emacs相提并论的程序员顶级圣战之一吗?
Amankwah
2015-04-07 11:46:23 +08:00
@skydiver 好吧,我也是这样写的……
seki
2015-04-07 11:51:34 +08:00
这个不是公司统一代码风格的事情么,个人鼓捣的话可以参照某些公司的规则
csslayer
2015-04-07 12:10:36 +08:00
qaulau
2015-04-07 13:30:08 +08:00
个人喜好这样,顶格写,看起来紧凑
if {

} else {

}
lintmx
2015-04-07 13:35:56 +08:00
@skydiver 我也是这种。
hippoboy
2015-04-07 13:48:25 +08:00
if {
} else {
}
fashioncj
2015-04-07 13:55:29 +08:00
两种对折叠都没有影响-。- 主要是自动格式化的语法问题。
evlos
2015-04-07 14:23:41 +08:00
本来我是第二种写法,给你们一讲我也想改成这样了XD
if {
} else {
}
zwzmzd
2015-04-07 14:45:33 +08:00
Citrus
2015-04-07 14:48:00 +08:00
@canautumn 非常同意,所以我的代码里不存在单行,所有的都写成代码块,调试的时候随手加减一行很方便,如果这个条件暂时不要了直接删掉都没问题。
raincious
2015-04-07 14:54:56 +08:00
微软表示要逼屎你们这些不另起一行写 { 的异类



(我已经老实了)
(这就是为啥有的时候PHP写着写着:咦?怎么PSR2过不了了)
perseawe
2015-04-07 15:10:56 +08:00
只要符合某种规范都可以,到时候其他人看的时候用IDE AutoStyle一下就好了。

一会缩进一会不缩进的直接打死,两元运算符两边不加空格的打死。
pinepara
2015-04-07 15:12:12 +08:00
风格不重要,风格统一才重要。
http://clang.llvm.org/docs/ClangFormatStyleOptions.html
niconiconi
2015-04-07 16:06:08 +08:00
坚决选择第一种。方便看

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/181886

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX