4) 若函数或过程中的参数较长,则要进行适当的划分。函数调用和函数声明续行在第一个参数处对齐,类型与名称不能分行书写。
eg:
n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER
+ index, stat_object );
5) if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。
eg:
如下例子不符合规范。
If (pUserCR == NULL) return;
应写作:
If (pUserCR == NULL)
{
return;
}
6) do while使用时,while不独占一行。
7) 定义指针类型变量时,*放在变量名前。
8) 一行只允许写一个声明或一条语句。
eg:
rect.length = 0; rect.width = 0;
应写作:
rect.length = 0;
rect.width = 0;
9) 空格的使用要求:
a) 在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密
切的立即操作符(如->),后不应加空格。
b) if/switch/while/for/catch 与后边的圆括号之间加一个空格,圆括号内侧与判断表达式之间不加空格。
eg:
if (a >= b && c > d)
c) for语句圆括号内分号前不加空格,分号后加一个空格。
d) 函数调用中,函数名和圆括号之间不要加空格。
e) 逗号表达式或参数列表中,逗号前不加空格,逗号后加一个空格。
f) 比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格。
eg:
if (current_time >= MAX_TIME_VALUE)
a = b + c;
a *= 2;
a = b ^ 2;
g) "!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格。
eg:
*p = 'a'; // 内容操作"*"与内容之间