Sé que para C++ y Java es una convención de nomenclatura bien establecida, que las constantes deben escribirse todas en mayúscula, con guiones bajos para separar las palabras. Como esto (Java ejemplo):Denominación: ¿Por qué las constantes con nombre deben estar todas en mayúscula en C++/Java?
public final static Color BACKGROUND_COLOR = Color.WHITE;
public final static Color TEXT_COLOR = Color.BLACK;
Esta convención de nomenclatura es fácil de entender y de seguir, pero me pregunto, ¿por qué elegir esta convención sobre el nombramiento-convención normal para las variables:
public final static Color backgroundColor = COLOR.WHITE;
public final static Color textColor = COLOR.BLACK;
Parece que no hay necesidad de cambiar el aspecto de las constantes. Si queremos asignarles un valor, el compilador evitará esto de todos modos. En realidad, crea problemas, si más adelante la constante se cambiará a una variable adecuada (porque los colores se pueden configurar, por ejemplo).
Entonces, ¿cuál es la razón última para escribir constantes con nombre todo en mayúsculas? Razones históricas?
En realidad, no es una buena idea nombrar las constantes en mayúsculas en C++. ALL_UPPER_CASE es una convención para macros de preprocesador. Por lo tanto, sus constantes pueden chocar y ser golpeados por los símbolos del preprocesador. –
Esto podría ser mejor servido como wiki de la comunidad – lothar