C++编码规则----布局

来源:互联网 发布:javascript 模块化 编辑:程序博客网 时间:2024/06/14 23:36

布局与注释

布局

  • 基本的缩排为4。
 for (i = 0; i < nElements; i++)  a[i] = 0;  

缩排为1不明显;缩排大于4当嵌套深时,代码南阅读且一行代码被分割的机会加大。2、3与4是较好的选择。

  • 块的缩排应该使用下面的例1(java默认编排方式)或例2的布局,但不可以使用例3。函数和类的块必须使用例2的布局。建议使用例2。
  while (!done) {  doSomething();  done = moreToDo();}
while (!done){  doSomething();  done = moreToDo();}
while (!done)  {    doSomething();    done = moreToDo();  }

例3额外的缩排并没有强调程序的逻辑结构,例1与例2很清晰。

  • 类的申明应该使用如下的形式:
class SomeClass : public BaseClass{  public:     ...   protected:     ...   private:     ... }

遵循块的通用规则。

  • 函数或过程的开始、结构的定义及循环,判断等语句中的代码都要采用缩进风格。

  • 函数的申明应该使用如下的形式:

void someMethod() {  ...}
  • 各类if-else语句应该使用如下的形式:
if (condition) {  statements;}if (condition) {  statements;}else {  statements;}if (condition) {  statements;}else if (condition) {  statements;}else {  statements;}

下面部分遵循块的通用规则,但是else语句与前一个if或else语句的右括号在同一行:

if (condition) {  statements;} else {   statements;}

这等效于Sun的推荐。这种方法的选择考虑是更好的方式将每部分if-else写在文件的多行内。这使得操纵语句更容易,如移动else周围的内容。

  • for 语句应该使用如下的形式:
for (initialization; condition; update) {  statements;}

遵循块的通用规则。

  • 空的for语句应该使用如下的形式:
 for (initialization; condition; update)  ;  
  • while 语句应该使用如下的形式:
while (condition) {  statements;}

遵循块的通用规则。

  • do-while 语句应该使用如下的形式:
do {  statements;} while (condition);

遵循块的通用规则。

  • switch语句应该使用如下的形式:
switch (condition) {  case ABC :     statements;    // Fallthrough  case DEF :     statements;    break;  case XYZ :     statements;    break;  default :     statements;    break;}

每个case关键字的缩进与switch语句相关作为一个整体,这样突出显示switch语句。注意在每个:之前使用格外的空白符。当对应的case语句没有break语句时,需要显式的注释说明,防止因为无意漏加。

  • try-catch语句应该使用如下的形式:
 try {  statements;}catch (Exception exception) {  statements;    }

部分遵循通用块的规则。对于if-else语句使用的闭括号规则同样适用于try-catch语句。

  • 单一的if-else,for或while语句一般可以不用大扩号。
if (condition)   statement;while (condition)   statement;for (initialization; condition; update)   statement;

通用的推荐(包括Sun Java推荐在内) 这种情况总是使用大括号。但是,大括号作为语言机制是用于分组多条语句的,对单一语句使用是多余的。

0 0