C++编码规则—-布局

布局与注释

布局

  • 基本的缩排为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推荐在内) 这种情况总是使用大括号。但是,大括号作为语言机制是用于分组多条语句的,对单一语句使用是多余的。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享