天天看点

总结了一下c/c++函数和变量的命名规则

自己的命名规则结合匈牙利命名法,是为了防止同名问题,同时又不拘束于规则,写出一些重要的:

  • 变量名=作用域(作用域,成员变量,全局变量等)+类型(什么类型,指针,字符串等)+对象描述(自己发挥,见名知意即可),且采用驼峰命名法,看起来比较紧凑

即:变量名 = 作用域 + 类型 + 对象描述

 作用域部分: 

全局变量 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++变量命名规则 

继续阅读