Ответ 1
Похоже, ответ заключается в том, что в Java нет единого стандарта для этого, и я хотел бы отметить, что в Руководстве по проектированию .NET Framework это указывается.
Теперь, прежде чем обвинить меня в том, что я не по теме, помните, что правила именования классов для Java и .NET Framework очень похожи, что делает рекомендации .NET полезными в качестве убедительного справочника.
Основные правила
Оба руководства рекомендуют использовать только аббревиатуры, если аббревиатура широко известна и понятна. DVD или XML являются отличными примерами этого, поскольку, хотя вы сразу их узнаете, распознанная расширенная версия займет немного больше времени.
Сокращения
Руководства .NET Framework рекомендуют не использовать аббревиатуры (в отличие от аббревиатур), за исключением того, что в идентификаторах могут использоваться две общие аббревиатуры: "ID" и "OK". При использовании аббревиатуры всегда используется Id
смешанного регистра, за исключением первого слова идентификатора camelCase (в отличие от идентификатора PascalCase).
В Java это соглашение соблюдается только иногда. Посмотрите, как смешаны варианты написания getID
и getId
в JCL. (Прокрутите часть страницы вниз по этой странице). В версии Java 8, однако, getId
используется все больше и больше, что указывает на то, что соглашение PascalCase является предпочтительным в настоящее время. Лучше всего избегать сокращений полностью, когда это возможно.
Краткие сокращения
В .NET Framework Guidelines говорится, что двухбуквенные аббревиатуры, такие как "IO", должны иметь одинаковый регистр для обеих букв. Поэтому для идентификаторов PascalCase (например, имени класса) вы получите DBRate
, а для идентификатора camelCase (например, локальной переменной) у вас может быть ioChannel
.
Это определенно кажется преобладающим соглашением и в Java.
Длинные Сокращения
В руководящих принципах .NET Framework для идентификаторов PascalCase и camelCase рекомендуются аббревиатуры, состоящие из трех букв или более, за исключением первого слова идентификатора camelCase. Таким образом, для имени класса у вас может быть XmlDocument
, а локальная переменная может быть названа httpRequest
.
Это соглашение не всегда соблюдается в Java. Четырехбуквенные аббревиатуры обычно используют смешанный регистр, но даже JCL не согласуется с трехбуквенными акронимами. Большинство из них, кажется, все в верхнем регистре, такие как "URL", "XML", "SQL" и "DOM", но есть некоторые исключения, такие как "Jar".
Заключение
Для Java:
Для сокращенных букв 4+ используйте смешанный регистр. Стандартная библиотека делает это, и это имеет смысл.
Для трехбуквенных аббревиатур вы можете использовать все прописные буквы, такие как JCL, или вы можете использовать смешанный регистр, как .NET Framework. В любом случае, будьте последовательны.
Для двухбуквенных сокращений используйте все заглавные буквы.
Для двухбуквенных сокращений в Java на самом деле нет стандарта, но я предлагаю использовать смешанный регистр, если только согласованность с другими именами не сделает все заглавные буквы лучше.