本命名规则结合阿里系和谷歌系命名规则
1,类文件和类命名:(阿里系)
类文件名和类名保持一致,且以大写字母C开头(代表 Class)+类描述,类描述由名词或者形容词+名词组合,每个单词首字母大写.
2,接口命名:(阿里系)
接口的命名以大写字母I开头(代表 Interface )+接口描述,接口描述由名词或者形容词+名词组合,每个单词首字母大写.
3,变量命令:(阿里系)
变量名的命名遵从匈牙利记法。即:作用域前缀 + 类型 + 变量名 如:m_nMaxWidth
作用域前缀:
前缀 说明 例子
无 局部变量
m_ 类的成员变量(member) Int m_width
ms_ 类的静态成员变量(static member) static int ms_initValue;
s_ 静态变量(static) static int s_initValue;
g_ 外部全局变量(global) int g_howManyPeople;
sg_ 静态全局变量(static global)
gg_ 进程间共享的共享数据段全局变量(global global)
类型:
前缀 说明 例子
b 布尔型变量(bool, BOOL) bEnable
ch 字符型变量(char TCHAR) chName
lpsz LPSTR、LPCSTR、LPCTSTR lpszName
n 整型和位域变量(int, UINT,__int32,__int64) nLength
l long lOffset
by BYTE
w WORD wPos
dw DWORD dwRange
f 浮点型变量(float)
d double
p 指针型变量和迭代子(pointer) pDoc
lp 远指针
e 枚举型变量(enumeration)
pfn 特别针对指向函数的指针变量和函数对象指针(pointer of function)
g 数组(grid)
h handle Windows对象句柄 hWnd
4,常量命名:(阿里系)
常量名由类型前缀+全大写字母组成,单词间通过下划线来界定,如:cDELIMITER, nMAX_BUFFER。类型前缀的定义与变量命名规则中的相同。
5,函数命名:(谷歌系)
函数的名称由一个或多个单词组成。为便于界定,每个单词的首字母要大写。
类成员函数应当只使用“动词”,被省略掉的名词就是对象本身
推荐的组成形式 函数名应当使用"动词"或者"动词+名词"(动宾词组)的形式。例如:"GetName()", "SetValue()", "Erase()", "Reserve()" ....
保护成员函数 保护成员函数的开头应当加上一个下划线“_”以示区别,例如:"_SetState()" ....
私有成员函数 类似地,私有成员函数的开头应当加上两个下划线“__”,例如:"__DestroyImp()" ....
虚函数 虚函数习惯以“Do”开头,如:"DoRefresh()", "_DoEncryption()" ....
回调和事件处理函数 回调和事件处理函数习惯以单词“On”开头。例如:"_OnTimer()", "OnExit()" ....
全局函数必须以小写前缀"g"开头。
函数形参命名:(自定义)
函数形参的命名采用Camel命名法中的下划线法,形参变量名全部小写.由作用域前缀+'_'+变量名组成.
5,结构体、宏、枚举变量、联合体(阿里系和谷歌系一样)
全部由前缀+大写字母组成,单词间使用下划线界定。
5.1结构体:加小写前缀"tag",之后以大写字母开头。
例:
typedef struct tagPOINT
{
int x;
int y;
} POINT;
5.2宏:宏名加小写前缀"def"
例:#define defMAXNUMBER 100
5.3枚举变量:加小写前缀"enum"。
例:
typedef enum _CFILE_OPEN_MODE
{
enumOPEN_READONLY = 0,
enumOPEN_READWRITE = 1,
enumCREATE_ALWAY = 3
} CFILE_OPEN_MODE;
5.4联合体:加小写前缀"uni"。
例:
typedef union _VARIANT
{
char unichVal;
int uninVal;
float uniftVal;
} VARIANT;
命名规则参考:https://developer.aliyun.com/article/619121 阿里系
https://www.cnblogs.com/chensheng-zhou/p/5127415.html 谷歌系