Lo so, che per C++ e Java è una convenzione di denominazione consolidata, che le costanti devono essere scritte tutte in maiuscolo, con caratteri di sottolineatura per separare le parole. Ti piace questa (Java-esempio):Naming: Perché le costanti nominate dovrebbero essere tutte maiuscole in C++/Java?
public final static Color BACKGROUND_COLOR = Color.WHITE;
public final static Color TEXT_COLOR = Color.BLACK;
Questa convenzione di denominazione è facile da capire e da seguire, ma mi chiedo, perché scegliere questa convenzione di denominazione sopra il normale denominazione-convenzione per variabili:
public final static Color backgroundColor = COLOR.WHITE;
public final static Color textColor = COLOR.BLACK;
Theres sembra non aver bisogno di cambiare l'aspetto delle costanti. Se vogliamo assegnare loro un valore, il compilatore lo impedirà comunque. In realtà crea problemi, se in seguito la costante verrà modificata in una variabile corretta (perché i colori diventano configurabili ad esempio).
Quindi qual è il motivo ultimo per scrivere costanti denominate tutte maiuscole? Ragioni storiche?
In realtà non è una buona idea denominare le costanti in maiuscolo in C++. ALL_UPPER_CASE è una convenzione per le macro del preprocessore. In questo modo le tue costanti possono scontrarsi e venire colpite dai simboli del preprocessore. –
Questo potrebbe essere meglio servito come wiki della comunità – lothar