C++命名规则

前言

在初学C++的时候,一定要养成良好的命名习惯才可以让程序的可读性大大提高,这里我整理和收集了一些有用的命名规则,以便自己 后续程序阅读和分享。其中一些摘自网络,将比较常识性的东西去掉了,保留了自认为有价值的一些内容。

变量命名

变量或者函数的命名通常有一些准则可供参考,这里仅仅罗列了比较有用的一些:

准则 描述
最小长度原则 语意明确情况下,应当缩短命名长度
不重命名 在不同作用域中尽量不适用相同的命名
避免出现数字符号 避免名字中出现数字符号


变量名称由作用域+类型前缀+一个或者多个单词组成

作用域前缀

作用域前缀的常见写法如下:

前缀 说明
局部变量
m_ 类的成员
sm_ 静态类的成员
s_ 静态成员
g_ 外部全局变量
sg_ 外部静态全局变量
gg_ 进程间共享的全局变量

其中:除非不得已,尽可能少用全局变量

类型前缀

普通类型

普通类型是我们常见的一些数据类型,没有经过自定义

前缀 说明 关键词 示例
n 整形和位域变量 number int nCode
e 枚举变量 enum emum type eColor
c 字符型变量 char char cName
sz C类型字符串 char * char * szTemp[10]
cs CString字符串 CString CString csStr()
b 布尔类型变量 bool bool bFlag
f 浮点数据 float float fNumber
p 指针变量和迭代器 pointer Log* pLog
pfn 指向函数的指针变量,函数对象指针 pointer of function 待定
g 数组 grid/Array int gNumList[]
i 类的实例 instance Log iLog
h 句柄类型 HANDLE m_hWnd
- - - -
str 字符串 std::string std::string strName
v vector std::vector std::vector vTestItem

类型前缀可以使用组合方式,如vnNumList="vector int NumList"

枚举类型

枚举类型全部使用大写字母,并且最后一个字母为E

//LIMIT_CHECK_TYPE_E 上下限类型,E代表枚举
enum LIMIT_CHECK_TYPE_E
{
  LIMIT_NONE,
  LIMIT_LOWER_ONLY,
  LIMIT_UPPER_ONLY,
  LIMIT_BOTH,
};

结构体

结构体中,变量最后一个字母使用_T表示

CAMERA_BLEMISH_CONFIG_T{
}

类命名

属性命名

参考作用域前缀 部分

前缀 说明
局部变量
m_ 类的成员

方法命名

范围不同,方法前增加的下划线长度不同,这里是以前不曾注意到的点

类别 描述
函数命名 函数的名称由一个或者多个单词组成,每个单词首字母大写
保护成员(Protected) 保护成员函数应当加上一个“_"以便区别,如_SetValue()
私有成员 私有成员添加两个下划线,如__GetValue()
虚函数 虚函数习惯以“Do”开头,_DoEncryption
回调和事件处理函数 回调和事件处理函数以On开头,如__OnTimer()

常量命名

常量命名由类型前缀+全部大写组成,单词通过下划线(_)来进行分隔
nMAX_BUFFER,cMY_NAME

注释

完整注释

/*************************************************
Function:       PortUI::OnInitDlg() 
Description:    用于初始化界面的List.
Parameter:      Dlg的引用  HWND MainWnd。
Time:          20170831
Author:        LiangYaoting
*************************************************/

简短注释

//20170831 LYT 初始化界面
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容