2013-02-18 201 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