W systemie Windows użyj %APPDATA%\appname
. W obszarze * NIX użyj ~/.appname
. Nie używaj ustalonych nazw katalogów na żadnej platformie, ponieważ katalog domowy użytkownika może różnić się od domyślnego (na przykład w sieci).
Jeśli chodzi o format, użyj tego, co uważasz za najlepsze. Jest to decyzja, którą tylko Ty możesz podjąć w kontekście swojej aplikacji. Nie ma potrzeby, a wręcz nie jest wskazane, aby mieć „standardowy” sposób na zrobienie tego, jeśli ten „standardowy” sposób nie jest najlepszy dla danego programu.
Na przykład XML / JSON może być dobrym sposobem na przechowywanie danych / konfiguracji użytkownika, jeśli twoja aplikacja już używa XML / JSON do czegoś innego. Ale jeśli jest to prosty plik konfiguracyjny, po co dodawać wzdęcia do swojej aplikacji, wprowadzając zależność? W takim przypadku najlepiej jest po prostu użyć prostego pliku tekstowego z var: value\n
liniami.
EDYCJA: Nie ma „najlepszego” przenośnego sposobu, ponieważ systemy operacyjne używają do tego bardzo różnych konwencji. Nie łam standardów systemu operacyjnego bez cholernie dobrego powodu.
EDYCJA 2: Jeśli wybierzesz ustawienie systemowe dla /etc
lub HKEY_LOCAL_MACHINE
, zapytaj siebie, czy ustawienie jest naprawdę globalne. Następnie odczekaj 5 minut i ponownie zadaj sobie pytanie. Jeśli odpowiedź nadal brzmi „tak”, to z całą pewnością dokonaj globalnego ustawienia. Pamiętaj, że zwykły użytkownik nie ma dostępu do zapisu /etc
lub HKEY_LOCAL_MACHINE
, robiąc to, masz pewność, że osoba bez uprawnień administratora nie będzie mogła zainstalować Twojej aplikacji.