Is it good that reading config values rather than using magic numbers?
<p>I have an idea that reading values from config files instead of using hard code values, but I'm not sure it is a good practice or not.</p>

<p>First I created a utility class:</p>

<p><code><pre>public class ConfigValues
{ 
    public static int Read(string key, int defaultValue){....}
    public static string Read(string key, string defaultValue){....}
    public static bool Read(string key, bool defaultValue){....}
    ...
}
</pre></code></p>

<p>The Read function tries to read value for the given key. If the key doesnot exist or the value has bad format, it returns the default value. And I'm going to use this class like:</p>

<p><code><pre>public class MyClass
{ 
    private int _age = ConfigValues.Read("Com.MyClass.Age", 0); 
    ...
}
</pre></code></p>

<p>So that, we can make almost all variables in the application customizable.
Will it be a good practice? 
Please comment it for free.</p>
