Re: Placement of Constants
On 05/24/2010 01:07 AM, Rhino wrote:
I always wondered why that exception was supposed to be useful....
Well, since you yourself seemed surprised at the utility, you should
probably have inquired as to why this should be done. A good tip for the
future. At worst, you learn something; at best, you avoid bad advice.
Originally, I seem to recall putting constants in interfaces, then being
told it was bad - I forget why - and that a standalone class for
constants alone (the ones that public static final and where you write
the names in caps with underscores for separators) was the way to go (as
well as the private constructor).
Putting constants in standalone classes is right for some cases.
Nowadays, I believe most of those cases have been subsumed by the
introduction of enums.
Darn, I was hoping that at least one thing in Java would be a simple
obvious thing that I wouldn't have to think about for a long time.
All rules have exceptions. A key part of design, in my opinion, is being
able to coherently explain why the particular design and implementation
was chosen. Design is a necessarily thought-intensive process, so don't
worry about having to think about it. I can show you many train wrecks
I've written that have come about by insufficient design (granted, a
project due in a week that I'll likely never refer to again isn't
something I'm too worried about turning into a train wreck).
Beware of bugs in the above code; I have only proved it correct, not
tried it. -- Donald E. Knuth