# Конвенция именования

Конвенция именования делает программу более легко читаемой и понятной. Также она может давать информацию о функции идентификатора, например, указывает ли идентификатор на константу, пакет или класс, что может быть полезным в понимании кода.

| Тип идентификатора | Правила именования                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Примеры                                                                                                 |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| Пакеты             | Префикс уникального имени пакета всегда пишется в нижнем регистре латиницей и должен соответствовать одному из доменов высшего уровня, в настоящий момент это com, edu, gov, mil, net, org, или один из английских двухбуквенных кодов, обозначающих страну по стандарту ISO 3166, 1981. Последующие компоненты могут различаться в соответствии с внутренними стандартами организации. Такие стандарты могут предписывать использование названий департаментов, отделов, проектов, оборудования или логинов. | com.sun.eng com.apple.quicktime.v2 edu.cmu.cs.bovik.cheese                                              |
| Классы             | Имена классов должны быть существительными. В смешанном регистре первой заглавной буквой (PascalCase). Старайтесь именовать классы коротко и ясно. Используйте целые слова, избегайте сокращений (Кроме случаев, когда сокращение гораздо распространеннее, чем полная версия, как URL или HTML).                                                                                                                                                                                                             | class Raster; class ImageSprite;                                                                        |
| Интерфейсы         | Имена интерфейсов пишутся так же, как и имена классов.                                                                                                                                                                                                                                                                                                                                                                                                                                                        | interface RasterDelegate; interface Storing;                                                            |
| Методы             | Имена методов должны быть глаголами, в смешанном регистре, начиная со строчной буквы, но с использованием заглавной буквы для каждого последующего слова (camelCase).                                                                                                                                                                                                                                                                                                                                         | run(); runFast(); getBackground();                                                                      |
| Переменные         | Имена переменных не должны начинаться с подчеркивания "\_" или знака доллара "$", хотя технически и то и другое возможно. Имена переменных должны быть короткими, но осмысленными. Выбор имени должен быть мнемоничен - т.е. быть таким, чтобы случайный наблюдатель мог понять, для чего используется переменная. Односимвольных имен переменных лучше избегать, за исключением временных переменных. Обычные имена для временных переменных: i, j, k, m, и n для целых чисел; c, d, и e для символов.       | int             i; char            c; float           myWidth;                                          |
| Константы          | Имена констант должны быть написаны полностью в верхнем регистре, с разделением слов подчеркиваниями ("\_").                                                                                                                                                                                                                                                                                                                                                                                                  | static final int MIN\_WIDTH = 4; static final int MAX\_WIDTH = 999; static final int GET\_THE\_CPU = 1; |
