Я планирую создать файл глобальных свойств для использования в приложении и несколько файлов свойств, доступных только для определенных классов и методов. Есть ли какой-либо конкретный отраслевой стандарт для именования файлов свойств?
Каковы соглашения об именах для файлов Java.properties?
Ответ 1
Насколько мне известно, правила не установлены.
Соглашение об именовании, которое я использую, - это свойство для одного класса, я использую {ClassName}.properties
, иначе я использую {WhatIsItUsedFor}.properties
, а иногда - для одного приложения, {ApplicationName}.properties
. Я предпочитаю CamelCase; другие предпочитают строчные буквы.
Для самих свойств свойств, если зернистость возможна, я использую что-то вроде
{ClassName}.{MethodNameIfNeeded}.{IntendedVariable}={value}
Знаете ли вы, что у вас больше файлов свойств, тем больше проблем, которые вы создаете. Некоторым лучше не объединяться в один файл свойств, используя соглашение об именах свойств/значений (выше), чтобы выделять любые классы, требующие их собственной конфигурации.
Ответ 2
Нет; назовите их чем-то значимым для контекста, в котором они будут использоваться.
Вы увидите такие вещи, как "applicationResources.properties", "messages.properties" и т.д. рядом с именами файлов, которые имеют больше специфических для бизнеса значений, например "account.properties".
Ответ 3
Короткий ответ: нет
Обычно вы называете глобальные свойства "myapp.properties". Посмотрите вокруг на некоторые рамки конфронтации, посмотрите, делают ли они то, что вы хотите. Например commons-configuration.
Ответ 4
Не совсем. Назовите файл расширением .properties(я также видел .prp).
Я бы рекомендовал не использовать "глобальный" файл свойств и вместо этого поддерживать как конфигурации в отдельных файлах, т.е.:
database.properties
smtp.properties
messages.properties
Ответ 5
Именование более сложное, если вы считаете также локализацию.
См. Java doc для java.util.ResourceBundle
:
baseName + "_" + язык + "_" + script + "_" + страна + "_" + вариант
Примеры:
MyResource_fr_FR
MyResource_fr_CA
MyResource_fr_CH
MyResource_en_Latn_US_WINDOWS_VISTA
MyResource_en_Latn_US_WINDOWS
MyResource_en_Latn_US
MyResource_en_Latn
MyResource_en_US_WINDOWS_VISTA
MyResource_en_US_WINDOWS
MyResource_en_US
MyResource_en