background image

x = a + b;
y = c + d;
z = e + f;

 

= a + b; y = c + d; z = e + f;

if (width < height)
{
dosomething();
}

if (width < height) dosomething();

for (initialization; condition; update)
{
dosomething();
}
// 空行
other();

for (initialization; condition; update)
dosomething();
other();

 

示例 2-2(a) 风格良好

 

的代码行 示例 2-2(b) 风格不良的代码行

 

【建议 2-2-1】尽可能在定义变量的同时初始化该变量(就近原则)

如果变量的引用处和其定义处相隔比较远,变量的初始化很容易被忘记。如果引用了未被
初始化的变量,可能会导致程序错误。本建议可以减少隐患。例如
int width = 10; // 定义并初绐化 width
int height = 10; // 定义并初绐化 height
int depth = 10; // 定义并初绐化 depth
2.3

 

代码行内的空格

 

【规则 2-3-1

 

关键字之后要留空格。象 const   

、virtual   

、inline   

、case 等关键字之后至少要

 

留一个空格,否则无法辨析关键字。象 if   

、for   

、while 等关键字之后应留一个空格再跟左

括号 (',以突出关键字。

 

【规则 2-3-2

函数名之后不要留空格,紧跟左括号 (',以与关键字区别。

 

【规则 2-3-3】‘('

向后紧跟, )' ‘

、 ,' ‘ 

、 ; '向前紧跟,紧跟处不留空格。

 

【规则 2-3-4】‘,'

 

之后要留空格,如 Function(x, y, z) 

‘ 

。如果 ; '不是一行的结束符号,其后

 

要留空格,如 for (initialization; condition; update) 。

 

【规则 2-3-5

“ 

赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如 = ” “

、 

+= ” “ >= ”

“ 

、 <= ” “ 

、 + ” “ 

、 * ” “ 

、 % ” “ 

、 && ” “ 

、 || ” “ 

、 << ” , “ ^ ”等二元操作符的前后应当

加空格。

 

【规则 2-3-6

“ 

一元操作符如 ! ” “ 

、 ~ ” “ 

、 ++ ” “ 

、 -- ” “ 

、 & ”(地址运算符)等前后不加空

格。

 

【规则 2-3-7】 “ 

” “ 

象 [] 、 .” “

、 ->” 这类操作符前后不加空格。

 

【建议 2-3-1

 

对于表达式比较长的 for 

 

语句和 if 语句,为了紧凑起见可以适当地去掉一

 

些空格,如 for (i=0; i<10; i++)  

和 if ((a<=b) && (c<=d))

void Func1(int x, int y, int z); // 良好的风格
void Func1 (int x,int y,int z); // 不良的风格

if (year >= 2000) // 良好的风格
if(year>=2000) // 不良的风格
if ((a>=b) && (c<=d)) // 良好的风格
if(a>=b&&c<=d) // 不良的风格

for (i=0; i<10; i++) // 良好的风格