CppCoreGuidelines ES.9 避免全大写的命名
17 March 2023
“Avoid ALL_CAPS
names”
理由
这类命名通常是宏。因此全大写的命名可能会不小心被宏替换掉。
例子
// somewhere in some header: #define NE != // somewhere else in some other header: enum Coord { N, NE, NW, S, SE, SW, E, W }; // somewhere third in some poor programmer's .cpp: switch (direction) { case N: // ... case NE: // ... // ... }
注意
不要因为习惯用宏来定义常量而把常量写成全大写的。
标注所有使用全大写的命名。对于老的代码,可以接受全大写的宏。对于不是宏的全大写命名,需要特别标注。