Похоже, ответ заключается в том, что в 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 говорится, что двухбуквенные аббревиатуры, такие как «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 на самом деле нет стандарта, но я предлагаю использовать смешанный регистр, если только согласованность с другими именами не сделает все заглавные буквы лучше.
DigitalVersatileDiscPlayer
это путь вперед.