• 5.2.4 常量名

    5.2.4 常量名

    常量名命名模式为CONSTANT_CASE,全部字母大写,用下划线分隔单词。那,到底什么算是一个常量?

    每个常量都是一个静态final字段,但不是所有静态final字段都是常量。在决定一个字段是否是一个常量时, 考虑它是否真的感觉像是一个常量。例如,如果任何一个该实例的观测状态是可变的,则它几乎肯定不会是一个常量。 只是永远不打算改变对象一般是不够的,它要真的一直不变才能将它示为常量。

    1. // Constants
    2. static final int NUMBER = 5;
    3. static final ImmutableList<String> NAMES = ImmutableList.of("Ed", "Ann");
    4. static final Joiner COMMA_JOINER = Joiner.on(','); // because Joiner is immutable
    5. static final SomeMutableType[] EMPTY_ARRAY = {};
    6. enum SomeEnum { ENUM_CONSTANT }
    7. // Not constants
    8. static String nonFinal = "non-final";
    9. final String nonStatic = "non-static";
    10. static final Set<String> mutableCollection = new HashSet<String>();
    11. static final ImmutableSet<SomeMutableType> mutableElements = ImmutableSet.of(mutable);
    12. static final Logger logger = Logger.getLogger(MyClass.getName());
    13. static final String[] nonEmptyArray = {"these", "can", "change"};

    这些名字通常是名词或名词短语。