6 声--明(Declarations)
6.1 每行声--明变量的数量(Number Per Line)
推荐一行一个声明,因为这样以利于写注释。亦即,
int level; // indentation level
int size; // size of table
要优于,
int level, size;
不要将不同类型变量的声--明放在同一行,例如:
int foo, fooarray[]; //WRONG!
注意:上面的例子中,在类型和标识符之间放了一个空格,另一种被允--许的替--代方式是使用制表符:
int level; // indentation level
int size; // size of table
Object currentEntry; // currently selected table entry
6.2 初始化(Initialization)
尽量在声-明局部变量的同时初始化。唯一不这么做的理由是变量的初始值依--赖于某些先--前发生的计算。
6.3 布局(Placement)
只在代码块的开始处声--明变量。(一个块是指任何被包含在大括号"{"和"}"中间的代码。)不要在首次用到该变量时才声--明之。这会把注-意力不集中的程-序-员搞-糊-涂,同时会妨-碍代码在该作-用-域内的可-移-植性。
void myMethod() {
int int1 = 0; // beginning of method block
if (condition) {
int int2 = 0; // beginning of "if" block
...
}
}
该规-则的一个例-外是for循-环的索-引变量
for (int i = 0; i < maxLoops; i++) { ... }
避--免-声-明的局-部变量覆--盖上一级声-明的变量。例如,不要在内--部代-码块中声--明相同的变量名:
int count;
...
myMethod() {
if (condition) {
int count = 0; // AVOID!
...
}
...
}