声明
17、推荐一行一个声明,因为这样有利于写注释。换句话说,下面的声明方法中,
int level; // indentation level int size; // size of table要优于:
int level, size;绝对不要将变量和方法的声明放在同一行,例如:
long dbaddr, getDbaddr(); // WRONG!不要将不同类型的变量的声明放在同一行,例如:
int foo, fooarray[]; //WRONG!注意:上面的例子中,变量与标识符之间只用了一个空格。另一种被接受的方式是使用制表符,如:
int level; // indentation level int size; // size of table Object currentEntry; // currently selected table entry
18、只把声明放在代码块的开头处。(一个代码块是指被包含在“{”和“}”之间的代码。)不要等到它们第一次用的时候才去声明变量,这会指没注意力到的程序员搞糊涂,同时也会妨碍到代码在该作用域内的移植性。
void MyMethod() { int int1; // beginning of method block if (condition) { int int2; // beginning of "if" block ... } }
这条规则的唯一例外是 for 循环里的索引变量,它在Java代码中能声明在 for 语句里面。
for (int i = 0; i < maxLoops; i++) { ...
19、避免声明的局部变量覆盖了上一级别声明的变量。例如,不要在内部代码块中声明相同的变量名。
int count; ... func() { if (condition) { int count; // 应避免! ... } ... }
20、尽量在声明局部变量的同时初始化。唯一不这么做的理由是变量的初始值首先依赖于某些发生的计算。
21、当编写类和接口时,应遵循以下格式规则:
- 在方法名与参数列表的左括号“(”之间不要有空格
- 左大括号“{”位于声明语句同一行的结尾
- 右大括号“}”另起一行,与对应的声明语句对齐。除非是一个空语句,这时“}”应紧跟在“{”之后。
class Sample extends Object { int ivar1; int ivar2; Sample(int i, int j) { ivar1 = i; ivar2 = j; } int emptyMethod() {} ... }
- 方法之间用空行隔开
语句
22、每一行最多包含一条语句。如:
argv++; argc--; // 应避免!
23、除非是有明显的理由,否则不要用逗号来组合多条语句。如:
if (err) { Format.print(System.out, “error”), exit(1); //严重错误<span style="font-family: Arial, Helvetica, sans-serif;">!</span> }