Dotfile madness
Avoid creating files or directories of any kind in your user’s directory in order to store your configuration or data. It is up to the user to set those variables so if the variables are not available the programs are expected to default to a directory defined by the standard and not the user’s home directory. You should use this directory to store user-specific configuration files for your program.
Source: 0x46.net