3. 命名约定
3.1 文件命名
- 文件名要全部小写, 可以包含下划线 (
_) 或连字符 (-), 依照项目的约定. 如果没有约定, 那么 “_” 更好. - 内联函数定义必须放在
.h文件中. 如果内联函数比较短, 就直接将实现也放在.h中. - 定义类时文件名一般成对出现, 如
foo_bar.h和foo_bar.cc, 对应于类FooBar.
3.2 类型命名
- 类型名称的每个单词首字母均大写, 不包含下划线:
MyExcitingClass,MyExcitingEnum. - 所有类型命名 —— 类, 结构体, 类型定义 (
typedef), 枚举, 类型模板参数 —— 均使用相同约定, 即以大写字母开始, 每个单词首字母均大写, 不包含下划线.
3.3 变量命名
- 变量 (包括函数参数) 和数据成员名一律小写, 单词之间用下划线连接.
- 类的成员变量以下划线结尾, 但结构体的就不用
- 不管是静态的还是非静态的, 类数据成员都可以和普通变量一样, 但要接下划线
- 不管是静态的还是非静态的, 结构体数据成员都可以和普通变量一样, 不用像类那样接下划线
3.4 常量命名
- 声明为
constexpr或const的变量, 或在程序运行期间其值始终保持不变的, 命名时以 “k” 开头, 大小写混合. 例如:const int kDaysInAWeek = 7;
- 所有具有静态存储类型的变量 (例如静态变量或全局变量, 参见 存储类型) 都应当以此方式命名. 对于其他存储类型的变量, 如自动变量等, 这条规则是可选的. 如果不采用这条规则, 就按照一般的变量命名规则.
3.5 函数命名
- 常规函数使用大小写混合, 取值和设值函数则要求与变量名匹配,
MyExcitingFunction(),my_exciting_member_variable() - 取值和设值函数的命名与变量一致. 一般来说它们的名称与实际的成员变量对应, 但并不强制要求. 例如
int count()与void set_count(int count).
3.6 命名空间 命名
命名空间以小写字母命名. 最高级命名空间的名字取决于项目名称. 要注意避免嵌套命名空间的名字之间和常见的顶级命名空间的名字之间发生冲突.
3.7 枚举命名
枚举的命名应当和 常量 或 宏 一致: kEnumName 或是 ENUM_NAME.
单独的枚举值应该优先采用 常量 的命名方式. 但 宏 方式的命名也可以接受. 枚举名 UrlTableErrors (以及 AlternateUrlTableErrors) 是类型, 所以要用大小写混合的方式.
enum UrlTableErrors {
kOK = 0,
kErrorOutOfMemory,
kErrorMalformedInput,
};
enum AlternateUrlTableErrors {
OK = 0,
OUT_OF_MEMORY = 1,
MALFORMED_INPUT = 2,
};
3.8 宏命名
像枚举命名一样全部大写, 使用下划线:
像这样命名: MY_MACRO_THAT_SCARES_SMALL_CHILDREN.
#define ROUND(x) ...
#define PI_ROUNDED 3.0
4. 注释
略
本文详细阐述了C++编程中的命名约定,涉及函数、变量、文件、类型、常量、枚举和宏的命名规则,以及注释的最佳实践,帮助开发者保持代码一致性。
1178

被折叠的 条评论
为什么被折叠?



