Is there such a thing as too many constants in a project? What are some general rules of thumb about where the use of constants starts to become inappropriate and should be refactored? Perhaps moving some of these values into a model tier, or configuration files, etc.
A concrete example. Using the pureMVC framework for Actionscript/Flex projects. This framework relies on the Facade pattern to store a central configuration for the application. Lots of constants can be declared in this Facade and most of the constants are mapped to commands. But in other cases there can be non command based constants. For a non trivial app there can be a lot of constants in the Facade.
The constants are really convenient, because they allow you search throughout your project for when a particular command or value is used. But when is the amount and type of use of constants going too far?
What is an inappropriate use of a constant?