Объявления (Декларации)
Количество на строку
Рекомендуется размещать одну декларацию на строку, поскольку это располагает к комментированию. Другими словами:
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() {}
...
}
Методы разделяются пустой строкой.
Last updated