Основные правила присвоения имен в Java достаточно просты, и имеет смысл их запомнить:
имена классов должны начинаться с прописной буквы, например Frame;
имена методов, полей и локальных переменных должны начинаться со строчной буквы, например read();
имена классов, методов и полей должны быть выполнены в горбатом стиле (camel casing), например InputStream или readFully();
имена констант (полей с модификаторами final и static, а также неизменяемых локальных переменных) должны быть написаны в верхнем регистре с подчеркиванием в качестве символа-разделителя, например MAX_CONNECTIONS.
Не используйте аббревиатуры
Такие имена, как sprintf или nmtkns, являются пережитком тех времен, когда даже суперкомпьютеры имели 32 КБ памяти. В те времена компиляторы экономили память, ограничивая длину идентификаторов восемью (или менее) символами. Однако это не является проблемой уже более чем 30 лет, поэтому в наше время нет оправданий для разработчиков, которые сокращают имена методов и переменных. Ничто не выдает переквалифицировавшегося с С хакера настолько явно, как нечитаемые имена переменных, лишенные гласных. Пример приведен в листинге 1.
Листинг 1. Сокр. им-а тяж. чит.
for (int i = 0; i < nr; i++) { for (int j = 0; j < nc; j++) { t[i][j] = s[i][j]; } }
Полные имена переменных в горбатом стиле оказываются намного более понятными, как видно из листинга 2.
Листинг 2. Несокращенные имена читать гораздо проще
for (int row = 0; row < numRows; row++) { for (int column = 0; column < numColumns; column++) { target[row][column] = source[row][column]; } }
Код читают значительно чаще, чем пишут, поэтому легкость чтения закладывалась в дизайн Java. В отличие от программистов на С, у Java-разработчиков нет такой практически маниакальной склонности к написанию запутанного кода. Они, как правило, ценят ясность выше краткости.
Существует несколько сокращений, которые настолько прочно вошли в обиход, что вы можете их использовать без оглядки:
max от maximum
min от minimum
in от InputStream
out от OutputStream
e или ex в блоке catch
(больше нигде это сокращение лучше не использовать)
num от number
, но только при использовании в качестве префикса, например numTokens или numHits
tmp от temporary
при использовании временной переменной, к которой происходит обращение только внутри ограниченного фрагмента кода, например для перестановки двух значений.
За исключением этих и, возможно, нескольких других случаев, следует использовать полные слова внутри идентификаторов.