2013-02-18 14 views
12

Mam zamiar utworzyć plik globalnych właściwości do użytku w całej aplikacji oraz kilka plików właściwości dostępnych tylko dla określonych klas i metod. Czy istnieje jakiś konkretny standard branżowy do nazywania plików właściwości?Jakie są konwencje nazewnictwa plików Java .properties?

+2

Niektóre struktury aplikacji używają konwencji. System i moduły platformy klienta zaawansowanego NetBeans używają pliku Bundle.properties w różnych katalogach pakietów. Generalnie jednak im mniej, tym lepiej. –

Odpowiedz

10

Według mojej wiedzy nie ma ustalonej reguły.

Konwencja nazewnictwa przejść przez to, czy jest to właściwości jednej klasy, używam {ClassName}.properties, w przeciwnym razie używam {WhatIsItUsedFor}.properties, a od czasu do czasu, czy to za pomocą jednej aplikacji, {ApplicationName}.properties. Mam preferencję dla CamelCase; inni wolą małe litery.

Dla nazw właściwości samych, jeśli ziarnistość jest możliwe, używam coś podobnego

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

zdają sobie więcej plików własności masz, tym więcej potencjalnych problemów konserwacyjnych utworzone. Niektóre z nich lepiej konsolidują się do pojedynczego pliku właściwości, używając konwencji nazewnictwa właściwości/wartości (powyżej), aby wyodrębnić dowolne klasy wymagające własnej konfiguracji.

+0

Camel Case zdecydowanie ułatwia czytanie, zwłaszcza gdy część {IntentedVariable} staje się dość długa. –

5

Nie; nazwij je czymś znaczącym dla kontekstu, w którym będą używane.

Zobaczysz takie rzeczy jak "applicationResources.properties", "messages.properties", itp. Obok nazw plików, które mają więcej znaczeń związanych z biznesem, takich jak "account.properties".

5

Krótka odpowiedź: nie

Zwykle chcesz wymienić globalnej Properties myapp.properties. Rozejrzyj się w niektórych frameworkach confgiration, sprawdź, czy robią to, co chcesz. Takich jak commons-configuration.

3

Niezupełnie. Nazwij plik rozszerzeniem .properties (widziałem także .prp).

Polecam przed użyciem pliku „globalnej” Właściwości i zamiast zachować jak konfiguracje w plikach segregacji, tj .:

database.properties 
smtp.properties 
messages.properties 
3

Nazywanie jest bardziej skomplikowane, jeśli wziąć pod uwagę także lokalizację. Zobacz Java doc for java.util.ResourceBundle:

basename + "_" + język + "_" + skrypt + "_" + kraj + "_" + wariant

Przykłady:

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 
Powiązane problemy