C++编程规范(四)

7. 格式

(1) 每一行代码字符数尽量不要超过 80

(2) 避免产生超过 3000 行的超大文件

(3) 使用空格缩进,不要使用制表符,且每级缩进为 2 个空格

(4) 相对独立的程序块之间建议添加空行

(5) 返回类型和函数名在同一行,参数也尽量放在同一行,如果放不下就对形参分行

ReturnType ClassName::ReallyLongFunctionName(Type par_name1,  Type par_name2, Type par_name3){   
  DoSomething();  ... 
}

或者:​​​​​​​

ReturnType ClassName::ReallyLongFunctionName(Type par_name1,
                                             Type par_name2, 
                                             Type par_name3){              
  DoSomething();  ...
}

(6) if、for、do、while、switch、case、default等语句与{在同一行,而}独占一行​​​​​​​

if (condition) {  //圆括号里没有空格,左大括号紧随其后     
  ...  // 2 空格缩进
} 
else if (...) { // else 与 if 的右大括号同一行  
   ...
 } else {  
   ...
 } // 右大括号独占一行
 if (x == kFoo) 
   return new Foo(); // 简短的条件语句允许写在同一行,且省略大括号
​​​​​​​
switch (var) {  
  case 0: {  // 2 空格缩进    
    ...      // 4 空格缩进    
  break;  
  }  
  case 1: {   
     ...    
   break;  
   }  
   default: {    
     ...  
   }
}

(7) ->、.、指针/地址操作符*与&前后不加空格​​​​​​​

x = *p;
p = &x;
x = r.y;
x = r->y;

(8) 在声明指针变量或参数时,建议*与&紧挨变量名​​​​​​​

// 空格前置,建议统一为此种
char *c;
const string &str;// 空格后置,也可以
char* c;const string& str;

(9) 一个表达式换行时,操作符总位于行尾​​​​​​​

if (this_one_thing > this_other_thing &&
    a_third_thing == a_fourth_thing &&
        yet_another && last_one) {
          ...
}

(10) 不要在return表达式里加上非必须的括号​​​​​​​

return result; // 没有圆括号
return (result); // 差 —— 圆括号没有实际意义
return (some_long_condition && another_condition); // 用圆括号改善可读性

(11) 预处理指令不要缩进,从行首开始​​​​​​​

if (lopsided_score) {
# if DISASTER_PENDING // 好 —— 指令从行首开始,且 # 与 if 之间没有空格    
DropEverything();
# endif    
BackToNormal();  
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三贝勒文子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值