Рекомендуется размещать одну декларацию на строку, поскольку это располагает к комментированию. Другими словами:
int level; // indentation level
int size; // size of table
Предпочтительнее, чем
int level, size;
Ни в коем случае не ставьте данные разных типов в одну строку:
int foo, fooarray[]; //ОЧЕНЬ ПЛОХО!
Примечание: в указанных выше примерах используется один пробел между типом и именем переменной. Еще один допустимый вариант - использовать табуляцию:
int level; // indentation level
int size; // size of table
Object currentEntry; // currently selected table entry
Старайтесь инициализировать локальные переменные там, где они объявляются. Единственной причиной не инициализировать переменную сразу может быть зависимость изначального значения от каких-либо вычислений или условий, предшествующих инициализации
Ставьте декларации только в начале блоков. (Напомним: блок кода это любой участок кода, окруженный фигурными скобками "{" и "}".) Не стоит дожидаться первого применения переменной для ее декларации, это может запутать других программистов и ухудшить переносимость кода.
void myMethod() {
int int1 = 0; // beginning of method block
if (condition) {
int int2 = 0; // beginning of "if" block
...
}
}
Единственным исключением из этого правила являются счетчики для циклов, которые можно декларировать прямо в объявлении цикла:
for (int i = 0; i < maxLoops; i++) { ... }
Избегайте локальных деклараций, которые перекрывают декларации на более высоком уровне. Например, не объявляйте одноименной переменной во внутреннем блоке:
int count;
...
myMethod() {
if (condition) {
int count = 0; // ИЗБЕГАТЬ!
...
}
...
}
При создании классов и интерфейсов необходимо соблюдать следующие правила:
class Sample extends Object {
int ivar1;
int ivar2;
Sample(int i, int j) {
ivar1 = i;
ivar2 = j;
}
int emptyMethod() {}
...
}