Static final “constant” variables should be in upper case, with the words separated by an underscore.
public static final String ATTRIBUTE_PUBLISH_DATE = “publishDate”;
A constant is just a variable that never changes, so the usual naming conventions apply to identify the concept of what the variable represents.
public static final int TWO_THOUSAND_AND_FORTY_EIGHT = 2048; public static final int TWENTY_FIVE = 25; public static final String SURNAME = “surname”; public static final String SEARCH = “search”;
The above variables had no aparrent purpose until an investigation showed where they were used in the code. Developers rarely have time for detective work. A quick refactor made the usage clearer:
// public, implies external use public static final int MAX_HTML_SIZE = 2048; public static final int ITEMS_PER_PAGE = 25; public static final String ATTRIBUTE_SURNAME = “surname”; // private, implies internal use only private static final String INITIAL_SEARCH_TEXT = “search”;
Tip: for static final constants, the public and private modifiers are used to tell other developers where the definition is intended to be used:
public definitions are referenced from outside the class, defined to illustrate a dependency between two otherwise independent classes.
private definitions are internal to the class only, defined to make the class file easier to maintain, and perhaps to illustrate a dependency between two otherwise independent methods within the same class.