天天看點

總結了一下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++變量命名規則 

繼續閱讀