命名:为什么命名常量在C++/Java中应该全部大写?
2022-09-01 01:17:01
我知道,对于C++和Java来说,这是一个成熟的命名约定,常量应该全部大写,用下划线分隔单词。像这样(Java示例):
public final static Color BACKGROUND_COLOR = Color.WHITE;
public final static Color TEXT_COLOR = Color.BLACK;
这个命名约定很容易理解和遵循,但我问自己,为什么选择这个命名约定而不是变量的常规命名约定:
public final static Color backgroundColor = COLOR.WHITE;
public final static Color textColor = COLOR.BLACK;
似乎没有必要改变常量的外观。如果我们想为它们赋值,编译器无论如何都会阻止这种情况。实际上,它会产生问题,如果以后常量将更改为适当的变量(例如,因为颜色可以配置)。
那么,编写全部大写的命名常量的最终原因是什么呢?历史原因?