java naming conventions say that constants should be in upper case.
In our company I saw declaration of log4j:
So I was wondering why it's not 'LOG'. After some search there were two groups of people, one that uses 'LOG' and the other one that uese 'log'.
The argument for using 'log' was that the logger is not immutable, therefore is not a constant.
So ... should it be log or LOG?
Personally I prefer "log" there. But the basic problem is that it's ambiguous - the naming convention is for "constants", but it's never really defined exactly what that means. Does it refer only to compile-time constants (which are well-defined)? Maybe. Maybe not. Enums? Final references to immutable types? Final references to mutable types? There really is no standard. Almost everyone who follows this convention will use it for compile-time constants and enums at least, but for anything else, it's a matter of opinion with no well-defined answer.
just to add I always think its a good idea to pick and follow a naming convention within a group. It might not always be 'right' but as long as everyone in the group follows it its all good! Mixing up naming convention within a group even if its for the sake of correcting a wrong convention isn't generally a good idea!