代码风格-关于if语句

if语句的代码风格,分两大类:

第一类
1、关键字if后面有空格
2、二元表达式左右有空格
3、每个大括号,单独占一行
4、else关键字单独占一行

if (a > b)
{
    
// 
}

else
{
    
// 
}

评述,我推荐在C#中使用这种写法。我觉得这种写法比较优雅,容易阅读。


第二类

1、关键字if后面有空格
2、二元表达式左右有空格
3、大括号放在上一句的右边

if (a > b) {
    
// 
}
 else {
    
// 
}

也会有人在左括号的右边,右括号的左边,分别添加空格。如下

if ( a > b ) {
    
// 
}
 else {
    
// 
}

评述,这种写法比较紧凑。在Java中,推荐这种写法,而且使用这种风格的人相当多。但是这种写法有一个缺陷,当if中的条件比较多时,需要换行,这时,就不太好了。如下:

if ( (a + b) > (c + d)
  
&& (e + f) > (h + j)) {
    
// 
}
 else {
    
// 
}

很多人,在编写只有一行语句的if时,会省略大括号。例如:

if (a > b)
    maxVal 
= a;
else
    maxVal 
= b;

这种写法在维护的时候需要特别小心。因为你在维护时,可能碰到下面的情况:

if (a > b)
    maxVal 
= a;
    
if (a < 0)
        a 
= 0;
else
    maxVal 
= b;

认真阅读上述的代码,你会发现一个逻辑错误。我维护别人的代码时,也曾吃过这种亏。

我是能够习惯不同风格的写法的。每当我在编写C#的代码时,使用第一种,编写Java和C++代码时,使用第二种,入乡随俗!

欢迎大家参与讨论!

posted on 2004-07-22 00:50  温少  阅读(1950)  评论(7编辑  收藏  举报

导航