x = a + b;
y = c + d;
z = e + f;
X
= 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-2-1】尽可能在定义变量的同时初始化该变量(就近原则)
如果变量的引用处和其定义处相隔比较远,变量的初始化很容易被忘记。如果引用了未被
初始化的变量,可能会导致程序错误。本建议可以减少隐患。例如
int width = 10; // 定义并初绐化 width
int height = 10; // 定义并初绐化 height
int depth = 10; // 定义并初绐化 depth
2.3
代码行内的空格
l
【规则 2-3-1】
关键字之后要留空格。象 const
、virtual
、inline
、case 等关键字之后至少要
留一个空格,否则无法辨析关键字。象 if
、for
、while 等关键字之后应留一个空格再跟左
‘
括号 (',以突出关键字。
l
【规则 2-3-2】
‘
函数名之后不要留空格,紧跟左括号 (',以与关键字区别。
l
【规则 2-3-3】‘('
‘
向后紧跟, )' ‘
、 ,' ‘
、 ; '向前紧跟,紧跟处不留空格。
l
【规则 2-3-4】‘,'
之后要留空格,如 Function(x, y, z)
‘
。如果 ; '不是一行的结束符号,其后
要留空格,如 for (initialization; condition; update) 。
l
【规则 2-3-5】
“
赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如 = ” “
、
+= ” “ >= ”
“
、 <= ” “
、 + ” “
、 * ” “
、 % ” “
、 && ” “
、 || ” “
、 << ” , “ ^ ”等二元操作符的前后应当
加空格。
l
【规则 2-3-6】
“
一元操作符如 ! ” “
、 ~ ” “
、 ++ ” “
、 -- ” “
、 & ”(地址运算符)等前后不加空
格。
l
【规则 2-3-7】 “
” “
象 [] 、 .” “
、 ->” 这类操作符前后不加空格。
2
【建议 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++) // 良好的风格