文章目录
- [1. 类型命名](#1. 类型命名)
- [2. 宏或常量](#2. 宏或常量)
-
- [2.1 宏](#2.1 宏)
- [2.2 全局或静态 const 常量](#2.2 全局或静态 const 常量)
- [2.3 枚举常量](#2.3 枚举常量)
- [3. 变量或函数](#3. 变量或函数)
-
- [3.1 全局](#3.1 全局)
- [3.2 局部](#3.2 局部)
- [3.3 成员变量或函数](#3.3 成员变量或函数)
- [4. 文件](#4. 文件)
- [5. 数字](#5. 数字)
以下命名方式介绍,参考Google C++ Style Guide。
1. 类型命名
C++中类型命名,包括class,struct,enum 等,一般采用Pascal case,即大驼峰命名法。
cpp
class StudentInfo;
struct StudentInfo;
enum WorkDay;
enum class WorkDay;
2. 宏或常量
2.1 宏
C++中,宏使用大写 + 下划线 。
不过C++中,尽量减少宏的使用,而改用inline内联函数或const常量替代。
cpp
#define MAX 5
#define ADD(x,y) ((x) + (y))
2.2 全局或静态 const 常量
C++中,全局或静态的const 或 constexpr 常量推荐使用kCamelCase ,即以小写k开头,实际变量名使用大驼峰。
cpp
const int kNum = 5;
constexpr int kManNum = 10;
2.3 枚举常量
枚举常量同样推荐使用kCamelCase。
cpp
enum Day {
kMonday
kTuesday
};
enum class Day {
kMonday
kTuesday
};
3. 变量或函数
3.1 全局
全局函数使用大驼峰命名。
全局变量分mutable 和immutable。
immutable全局变量,即const或constexpr常量,命名方式为k + 大驼峰 。
mutable全局变量,命名方式为:以g开头,所有字母小写,单词之间以下划线连接,变量名结尾无下划线。
cpp
const int kNum = 5;
constexpr int kManNum = 10;
int g_num = 5;
int g_man_num = 10;
3.2 局部
局部变量命名方式为:所有字母小写 + 单词之间以下划线连接,变量名结尾无下划线。
cpp
int man_num = 0;
int woman_num = 0;
3.3 成员变量或函数
成员函数,无论静态与否,同普通函数的命名方式一致,为大驼峰。
成员变量,如果是普通成员变量或非const的静态成员变量 ,命名方式为:所有字母小写 + 单词间以下划线连接 + 下划线结尾。
成员变量,如果是const静态成员变量 ,则同全局或static常量的命名方式。
4. 文件
文件命名方式推荐:全字母小写 + 单词下划线连接 + 无下划线结尾。
5. 数字
如果在命名时需添加数字,那么直接将数字紧跟相应变量名中的相应单词后即可,不影响其余规则。