A question on StackOverflow, What is Soft-Coding (anti-pattern), introduced me to the term soft-coding (a pun to hard coding).
To explains simply the term, I quoted the code snippet of the accepted answer:
SpecialFileClass file = new SpecialFileClass( 200 ); // hard coded SpecialFileClass file = new SpecialFileClass(DBConfig .Start() .GetConnection() .LookupValue("MaxBufferSizeOfSpecialFile") .GetValue());
Too much of anything is not good. The above is not an exception. Too much of flexibility led to over-engineering.
This is somehow similar to the #1 deadly sin in the series Seven Deadly Sins of Programming by Eric Gunnerson.