C++命名规范
转自:https://gist.github.com/Menglinucas/aad30ebd60b11e7da0d56b35b2064d7e
基本规则
- 小写之间用下划线连接。全小写格式
- 大写之间用下划线连接。全大写格式
- 大、小写混用,不用下划线连接。首字母大写格式,驼峰格式
文件、类、结构体、函数、常量、变量
文件
全小写,an_simple_example.cpp
类
首字母大写,以C开头,CAnSimpleExample
接口
首字母大写,以I开头,IAnSimpleExample
结构体
全大写,以T开头,TAN_SIMPLE_EXAMPLE
宏
全大写,AN_SIMPLE_EXAMPLE
函数
- 一般函数:( p)fn开头,TakeAnSimpleExample
- 保护成员函数:_开头,_TakeAnSimpleExample
- 私有成员函数:__开头,__TakeAnSimpleExample
- 虚函数:Do开头,DoTakeAnSimpleExample
- 回调和事件处理函数:On开头,OnBtnClick, OnTimer
常量
全大写,AN_SIMPLE_EXAMPLE
变量
变量名 = 属性 + 类型 + 对象描述
属性、类型全为小写,对象描述首字母大写。
属性
- 局部变量:无
- 全局变量:g_
- 静态变量:s_
- 静态全局变量:sg_
- 类成员变量:m_
- 类静态成员变量:sm_
- 进程间共享全局变量:gg_
类型
- bool, BOOL: b
- char, TCHAR: ch
- char[]: sz #string zero
- string, CString: str
- LPSTR: lpsz
- LPCSTR: lpcsz
- LPCTSTR: lptsz
- int: n
- short: s
- unsigned int: un
- long: l
- float: f
- double: d
- BYTE: by
- WORD: w
- DWORD: dw
- * : p
- handle: h
- Array: arr
- struct: t
- enum: em
- union: uni
- vector: vec
- rect: rc
- color: cr
- DC: dc
- MFC control: CONTROL_className, 如CListCtrl m_LC_Name