1
zyue 2015-04-06 15:18:57 +08:00
我是前一种 写java代码也是这样
|
2
skydiver 2015-04-06 15:20:35 +08:00 3
都不对,应该是这样
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 1
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 1
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
jasontse 2015-04-06 16:30:36 +08:00 via iPad
此帖还可以衍生出你们的括号前后带不带空格呢
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
Humorce 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 1
@revlis7 看到你这个,想起来一个刚好相反的案例,刚在objc.io上看到omnigroup的惯例是(objective-c)不论definition还是declaration,函数名结尾都加分号;(一般definition是不加分号,直接写花括号。他们不仅是花括号另起一行,而且函数定义后边也加上分号)。理由和你说的刚好相反:方便将整行从declaration拷贝到definition,或者反过来。
|
63
canautumn 2015-04-07 10:38:54 +08:00 1
@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 ``` |