Правила написания кода на Java
Такие правила приняты в нашей компании. Они позволяют делать код более читаемым и аккуратным, избегать ошибок, связанных с разными стилями написания кода у людей, работающих над проектом, и в будущем легко редактировать его.
Имена файлов, пакетов
— В именах пакетов используются только строчные буквы.
staffavailability
— Имена Java-классам даются согласно стандартной нотации Java.
StaffAvailability
— Имена классов должны быть существительными, первые буквы всех слов — заглавные.
— В именах web-папок и файлов используются только строчные буквы. Слова в многословных названиях разделяются подчеркиванием.
staff_availability
Имена методов, переменных
— Названия методов должны быть глаголами, первая буква должна быть строчной, первые буквы внутренних слов — заглавные.
— Имена переменных должны начинаться со строчной буквы, внутренние слова — с заглавной.
— Имена констант составляются из всех заглавных букв, разделенных на слова символом подчеркивания.
Отступы, длина строки, переносы строк
— Отступы должны составлять строго 4 пробела (не знак табуляции).
— Длина строки не должна превышать 80 символов.
— Если длина выражения превышает длину строки, то необходимо разбить его на несколько строк согласно следующим правилам:
1. перенос после запятой;
2. перенос перед оператором;
3. необходимо использовать отступ 8 пробелов для обозначения второй строки разделенного выражения. Последующие строки выравниваются по второй строке либо добавляются новые 8 пробелов для обозначения вложенности.
int result = function1(longExpression1,
function2(longExpression2,
longExpression3));
Расположение блоков, операторов, пробелы, скобки
— Определение переменных нужно располагать в начале блока, а не «ждать» первого использования переменной. Инициализация должна производиться, по возможности, сразу.
void myMethod() {
int count = 0; // beginning of method block
if (condition) {
int int2; // beginning of "if" block
...
}
}
- Между именем метода и скобками для списка параметров нет пробела.
getStaffList(String name)
— Параметры разделяются пробелом.
getStaffList(String name, int count)
— Пробелы окружают любой оператор.
res = getCount();
(a > 10) ? b : c;
— Ключевое слово и следующая за ним скобка ( должны разделяться пробелом.
while (b < 100){
…
}
— Открывающаяся скобка { располагается на той же строке, что и сигнатура метода/заголовок if, while-блока и т.п.
— Закрывающаяся скобка } выровнена по строке начала данного блока.
public Collection getStaffList(String name) {
Collection contacts = Contact.getList(name, RoleHelper.ROLE_AGENT, null,
AccessLevel.getStaffDiaryEditLevel(), 0, MAX_NUMBER);
return ListHelper.getLabelValueList(contacts);
}
— Методы разделяются пустой строкой, объявления свойств класса располагаются по одному на строку.
— На строке располагается только один оператор.
if (b) {
return result;
}
Структурирование кода
— Методы должны быть короткими, и выполнять только одну задачу (к примеру, почти любой цикл уже достоин того, чтобы вынести его в особый метод).
— Имена методов должны быть самодокументированными.
— Шаблоны ООП должны применяться для структурирования и облегчения восприятия.
Стандарт разработан на основе “Code Conventions for the Java Programming Language” by Sun (http://java.sun.com/docs/codeconv/) с учетом принятых в коллективе практик.
Метки: Java


Copyright © 19992010 LAR
23.03.2009 в 01:44
Все правильно написано, но всегда есть некоторые исключения из правил.
Сам иногда использую некоторые упрощения для уменьшения количесва ненужного кода. Например, сеттеры (и геттеры) пишу в одну строку, а то места занимают много, а толку - 0.
На счет длины строки - 80 уже маловато. обычно 120 используют.