This is a question regarding best coding practices. I would like to know the consensus about how to best avoid hardcoding strings and values in a .NET application. What I've seen so far where I have previously worked:
- using resource .resx files
- storing these values and strings in App.config or web.config
making a static class ApplicationStrings and declaring all the strings and values in there:
public static class ApplicationStrings { #region constants public const string APPLICATION_NAME = "X"; public const string APPLICATION_RESOURCEMANAGER_NAME = "ResourceManagerX"; public const string APPLICATION_DEFAULT_LOGFILENAME = "log.txt"; }
However, is not the 3rd method, just another hardcode? Does it make sense to have such a class? The benefit would be that all strings are in one place, but is that really avoiding a hardcode?
Also, if you have developed other habits for this situation, feel free to post.