if语句的代码风格,分两大类:
第一类
1、关键字if后面有空格
2、二元表达式左右有空格
3、每个大括号,单独占一行
4、else关键字单独占一行
if
(a
>
b)
{
//
}
else
{
//
}
{
//
}
else
{
//
}
评述,我推荐在C#中使用这种写法。我觉得这种写法比较优雅,容易阅读。
第二类
1、关键字if后面有空格
2、二元表达式左右有空格
3、大括号放在上一句的右边
if
(a
>
b)
{
//
} else {
//
}
//
} else {
//
}
也会有人在左括号的右边,右括号的左边,分别添加空格。如下
if
( a
>
b )
{
//
} else {
//
}
//
} else {
//
}
评述,这种写法比较紧凑。在Java中,推荐这种写法,而且使用这种风格的人相当多。但是这种写法有一个缺陷,当if中的条件比较多时,需要换行,这时,就不太好了。如下:
if
( (a
+
b)
>
(c
+
d)
&& (e + f) > (h + j)) {
//
} else {
//
}
&& (e + f) > (h + j)) {
//
} else {
//
}
很多人,在编写只有一行语句的if时,会省略大括号。例如:
if
(a
>
b)
maxVal = a;
else
maxVal = b;
maxVal = a;
else
maxVal = b;
这种写法在维护的时候需要特别小心。因为你在维护时,可能碰到下面的情况:
if
(a
>
b)
maxVal = a;
if (a < 0 )
a = 0 ;
else
maxVal = b;
maxVal = a;
if (a < 0 )
a = 0 ;
else
maxVal = b;
认真阅读上述的代码,你会发现一个逻辑错误。我维护别人的代码时,也曾吃过这种亏。
我是能够习惯不同风格的写法的。每当我在编写C#的代码时,使用第一种,编写Java和C++代码时,使用第二种,入乡随俗!
欢迎大家参与讨论!