别怕Linux编程

Google C++编程规范 – 第七条 -《条件语句》

本原创文章属于《Linux大棚》博客。

博客地址为http://roclinux.cn

文章作者为roc wu

==

自从2013年7月中旬,开通“捐款通道”以来,已经有几位朋友通过捐款的方式来支持Linux大棚,非常感谢大家的支持和肯定!

其中还包括了一位填写了捐款数额但一直未付款的朋友。

Snip20130804_1

淘宝页面上付款截止倒计时在一分一秒的流逝,我是不是该主动联系下这位朋友,催催他抓紧付款呢,哈哈 

PS : 如果希望在技术方面聊一聊,可以留下你的邮箱或QQ。目前已经有幸和3位朋友通过这种方式接上头了:P

==

【规范】

在使用条件语句时,括号内不建议留有空格。另外,else关键字请另起一行。

【具体解释一下】

比较主流的形式有两种,一种是条件语句的括号内留有空格,即如下形式:

if ( condition ) {  //在括号内留有空格,用这种方式的人并不多
  ...  // 2 space indent.
} else {
  ...
}

另一种是使用的人最多的,也正式本规范倡导的,那就是括号内不留有空格,形式如下:

if (condition) {  在括号内部不留有空格
  ...  // 2 space indent.
} else if (...) {
  ...
} else {
  ...
}

不过,有一个规则是统一的,那就是在if与左括号之间一定留有一个空格,但右括号与左大括号间也要保留一个空格。

下面是一些错误的典型:

if(condition)     // 错啦,if和左括号间缺少了空格
if (condition){   // 也错啦,右括号和左大括号间少了空格
if(condition){    // 全错了,同时放了上面两位的错误

如果一个条件语句非常之短,在不影响可读性的前提下,也允许在一行内完成条件语句,如下所示:

if (x == kFoo) return new Foo();
if (x == kBar) return new Bar();

但是,如果条件语句里要用到else,就一定要按正常分行形式来书写了,而且该加的大括号都要加全,下面的例子告诉大家什么是错误的:

// 错误了,else分支缺少了大括号的包裹
if (condition) {
  foo;
} else
  bar;

// 错误了,if条件分支也同样缺少了大括号的包裹
if (condition)
  foo;
else {
  bar;
}

最标准的形式是:

if (condition) {
  foo;
} else {
  bar;
}

谢谢!

发表您的评论

请您放心,您的信息会被严格保密。必填项已标识 *