1. 程式人生 > >變量命名規則

變量命名規則

blog images lpctstr 布爾 double crf 操作 -s 大寫字母

參考鏈接:http://www.cnblogs.com/onedime/archive/2012/11/21/2780149.html

必須遵守的規則

  1.變量名只能是字母(A-Z,a-z)、數字(0-9)或下劃線。


  2.第一個字母不能是數字,例如2Lerver這不是一個合法的C++變量。

  3.不能是關鍵字,例如不能用struct這個單詞來命名一個變量。

  4.區分大小寫,例如iA和ia是兩個不同的變量。

  理論上,在遵守了上面幾條規則的前提下,所聲明的變量名稱都是合法的。比如下面的命名:
    char xueshengming[20]; //學生名
    char a; //命名一個字符,但變量名毫無意義,不方便閱讀和記憶

建議命名規則

技術分享

一、用最短的字符表示最多的意義。
  int iPosX; //Pos表示位置,X表示橫坐標 //通常個人喜歡加下劃線進行區分,如 Pos_X

二、使用變量前綴
  在變量前帶上小寫前綴可以很直觀的看出變量的數據類型,而不必到變量的定義處去查看。

  常用的數據類型推薦變量前綴:
  (個人通常喜歡寫成 前綴_變量名,或 前綴(小寫)+變量名(大寫字母開頭))
  1.整型的前綴
  short sValue;   //s為short的前綴 int iAge; //i為int的前綴
  unsigned int uiAge; //ui為unsigned int的前綴(兩個單詞的首字母) //也有用u做前綴的
  long lValue;   //l為long的前綴

  2.浮點型的前綴
  float fScore;   //f為float的前綴
  double dValue; //d為double的前綴

  3.字符型的前綴
  char cChar; //c為char的前綴

  4.字符串的前綴
  char szName[30]; //sz為C語言字符串的前綴 string strName; //str為C++字符串變量的前綴 CString strInfo; //str為MFC字符串變量的前綴

  5.布爾型的前綴
  bool bPass; //b為bool的前綴

  6.指針型的前綴
  int *pValue; //p為指針的前綴
  說明:由於指針是指向一定數據類型的變量,因此p後面要不要再加一個前綴一直讓我舉棋不定。如果再加上前綴比如: int * piKey;
  char * pszInfo;
  這樣似乎意義更完整,但勢必會增加變量的字符長度。因此,這裏就不硬性規定了。但是,指針變量以p開頭應該是雷也打不動的。


  7.數組的前綴 int arrNum[10]; //arr為數組的前綴

  說明:和指針變量一樣,arr後是否再加數組元素的數據類型前綴取決於你自己。 string arrstrName[3]; //C++字符串數組,加上去似乎很別扭

  8.枚舉變量的前綴
  enum emWeek; //em為枚舉變量的前綴

  9.結構變量的前綴:t
  T_NODE tNode; //結構名稱以T_開頭 10.字節變量的前綴:by BYTE byInfo;

  10.字節變量的前綴:by BYTE byInfo;

  11.字變量的前綴
  DWORD dwInfo; //雙字 WORD wInfo; //單字

  12.字符指針的前綴
  LPCTSTR ptszInfo; //ptsz表示前綴,t表示TCHAR類型 LPCSTR pszInfo; LPSTR pszInfo;

  13.STL容器類型前綴 vector<int> vecValue;
  說明:vec表示vector容器的前綴,為了簡化變量,變量體後面不再使用前綴 list<double> lstInfo;

  14.MFC綁定控件變量的前綴
  CEdit m_ctlName; //對象變量,變量體前統一用ctl表示 //個人喜歡用m_ctrl
  int m_iAge; //值變量,變量體有表示值數據類型的前綴
  說明:由於長短指針在32位操作系統後已無區別,所以不再區分,一律以p開頭,這也與指針變量以p開頭的原則貼得更近。

  15.矩形結構的前綴:

  rc RECT rcClient; CRect rcWin;

  16.句柄對象一律以h開頭

   HWND hWndName; HBRUSH hBr; HPEN hPen; HBITMAP hBmpBack;

  17.windows顏色類型的前綴:

  cr COLORREF crFront;

  18.windows中DC(設備上下文)類型的前綴

  CClientDC dcClient;

三、類的成員變量以m_開頭,後面為變量體,變量體依然要有前綴。

  int m_iDepth;

四、定義一個變量,為了簡化,在不影響變量意義的情況下,可以僅僅使用前綴。 RECT rc;



五、全局變量一律以g_開頭,後面為變量體,變量體依然要有前綴。 int g_iNums;

六、定義結構體為了保證和C語言和C++的寫法兼容性,一律采用typedef語句。

  typedef struct tagINFO_NODE {
  int iData;
  tagINFO_NODE *pNext; }T_INFO_NODE, *PT_INFO_NODE;

七、變量體如果是多個單詞,每個單詞的首字母大寫。

   int iStudentAge;

八、在意義明確的情況下可以僅僅使用首字母命名變量可以縮短變量名。

   int iID;
  說明:僅使用首字母表示變量體的前提是保證變量的意義,比如變量iStudentAge如果聲明成:
  int iSA; //這樣將失去意義,不可取

  雖然這樣可以少碼一些代碼,很容易出現當時知道含義,後面來看不知道含義的情況。而且由於現在的編輯器大多有自動補全功能,不建議這麽做。

變量命名規則