2013-02-18 199 views
12

我计划创建一个全局属性文件供跨应用程序使用,以及几个属性文件仅适用于特定的类和方法。是否有任何特定的行业标准命名属性文件?什么是Java .properties文件的命名约定?

+2

一些应用程序框架使用一个约定。 NetBeans富客户机平台和模块系统在各种软件包目录中使用Bundle.properties。一般来说,越少越好。 – 2013-02-18 16:48:14

回答

10

据我所知,没有设定规则。

我经历的命名约定是,如果它是一个类的属性,我使用{ClassName}.properties,否则我使用{WhatIsItUsedFor}.properties,偶尔如果它是单个应用程序{ApplicationName}.properties。我对CamelCase有偏好;别人更喜欢小写字母。

有关属性本身的名字,如果粒度是可能的,我使用类似

{ClassName}.{MethodNameIfNeeded}.{IntendedVariable}={value} 

一定要明白你有,你创造更多的潜在的维护问题越属性文件。有些最好将合并成单个属性文件,使用上面的属性/值命名约定来选出需要自己配置的任何类。

+0

骆驼案例更清晰地阅读,特别是{IntentedVariable}部分变得相当长时。 – 2015-07-16 11:34:27

5

否;将它们命名为它们将被使用的上下文有意义的东西。

您会看到“applicationResources.properties”,“messages.properties”等类似于“account.properties”等具有更多业务特定含义的文件名。

5

简短的回答:没有

通常你会命名为全球性 'myapp.properties'。看看一些错误框架,看看他们是否做你想要的。如commons-configuration

3

不是。用.properties扩展名命名文件(我也见过.prp)。

我会建议不要使用“全球性”的属性文件,而是保持像隔离文件的配置,即:如果你还考虑本地化

database.properties 
smtp.properties 
messages.properties 
3

的命名是比较复杂的。 见Java doc for java.util.ResourceBundle

baseName的+ “_” +语言+ “_” +脚本+ “_” +国+ “_” +变种

例子:

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