自己的命名规则结合匈牙利命名法,是为了防止同名问题,同时又不拘束于规则,写出一些重要的:
- 变量名=作用域(作用域,成员变量,全局变量等)+类型(什么类型,指针,字符串等)+对象描述(自己发挥,见名知意即可),且采用驼峰命名法,看起来比较紧凑
即:变量名 = 作用域 + 类型 + 对象描述
作用域部分:
全局变量 g_ (global): g_cntBag
c++类成员变量 m_ (member): m_cntBag (不这样搞,容易跟类里的成员函数的形参同名)
还有静态变量,局部变量等,很明显就能知道,所以不用加作用域了,不然反而弄得复杂,过分规则化了也不好。
类型部分:
指针 p m_pWidget
字符串str m_strName
对象描述部分:这里主要是为了见名知意效果,但是又不能写太长,否则不方便使用,所以采用去元音的方式命名即可,比如count:cnt
window:wnd
temporary:tmp
button:bnt
在单词也不长的时候,写全单词也可以
- 局部变量用单字符也是可以的,反正隐藏细节的嘛:常见的如i,j,k,m,n,x,y,z等,它们 通常可用作函数内的局部变量
- 函数名c++中小写开头(因为一般都是成员函数),c大写开头(其实小写开头也无所谓)
getName(); sortPiriorty();
- 类名大写开头,class Model,class People
- 宏定义或者说是常量全大写且下划线分割,MAX_PERIOD
- 函数形参,此时就可以随便了(不需要加一些奇奇怪怪的,因为这是在头文件里给其他程序员看到的),因为经过上面的规则后,肯定不会同名了
- 钩子函数hook开头:hookBtnClicked()
参考博客:C++变量命名规则