2013-02-18 88 views
12

グローバルプロパティファイルをアプリケーション全体で使用し、特定のクラスとメソッドでのみ使用できるいくつかのプロパティファイルを作成する予定です。プロパティファイルに名前を付けるための特定の業界標準はありますか?Java .propertiesファイルの命名規則とは何ですか?

+2

一部アプリケーションフレームワークは規約を使用します。 NetBeansリッチクライアントプラットフォームおよびモジュールシステムでは、その他のパッケージディレクトリにBundle.propertiesが使用されています。一般的には、それほど良いものはありません。 –

答えて

10

私の知る限り、セットルールはありません。

私が行っている命名規則は、単一クラスのプロパティであれば{ClassName}.propertiesを使用します。それ以外の場合は{WhatIsItUsedFor}.propertiesを使用し、単一アプリケーションの場合は{ApplicationName}.propertiesを使用します。私はCamelCaseを好みます。他の人は小文字を好む。プロパティの名前は自分のために

粒度が可能であるならば、私はあなたが持っているより多くのプロパティファイルは、作成したより多くの潜在的なメンテナンスの問題が実現するか

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

のようなものを使用。プロパティ/値命名規則(上記)を使用して、独自のコンフィグレーションを必要とするクラスをシングルアウトするために、単一のプロパティファイルに統合する方がよい場合もあります。

+0

キャメルケースは、特に{IntentedVariable}部分がかなり長くなったときにはっきり読み取ることができます。 –

5

いいえ;それらが使用されるコンテキストに意味のある名前を付けてください。

"application.resources.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 
関連する問題