1. 程式人生 > >變數命名的通用規則

變數命名的通用規則

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

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

  3.不能是c++關鍵字,例如不能用class這個單詞來命名一個變數。

  4.區分大小寫,例如iA和ia是兩個不同的變數。
理論上,在遵守了上面幾條規則的前提下,所宣告的變數名稱都是合法的。比如下面的命名:
char  xueshengming[20];    //學生名
char  a;                   //命名一個字元,但變數名毫無意義

這樣的變數命名儘管是合法的,但可讀性非常差。正規的軟體公司,對於變數命名往往都有自己的一個推薦規範。不同公司的規範又會有一些差別。當一個程式設計師從一個公司跳槽到另一個公司,甚至會出現不習慣新公司程式碼規範的現象。
 萬事萬物,要是有一個統一的規範,也許程式設計師這個行業會少一些煩惱。俗話說得好:沒有規矩,不成方圓。以下是筆者多年編碼得出的變數命名的心得體會,在此總結如下,並奢望有招一日能成為行業規範。 
變數命名的宗旨:


一、用最短的字元表示最多的意義。
int iPosX;     //Pos表示位置,X表示橫座標 //個人比較喜歡用n做字首 

二、使用變數字首

在變數前帶上小寫字首可以很直觀的看出變數的資料型別,而不必到變數的定義處去檢視。常用的資料型別推薦變數字首:

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的字首

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

 2.第一個字母不能是數字,例如2Lerver這不是一個合法的C++變數。 
 
3.不能是c++關鍵字,例如不能用class這個單詞來命名一個變數。

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

理論上,在遵守了上面幾條規則的前提下,所宣告的變數名稱都是合法的。比如下面的命名:
char  xueshengming[20];    //學生名
char  a;                   //命名一個字元,但變數名毫無意義


這樣的變數命名儘管是合法的,但可讀性非常差。正規的軟體公司,對於變數命名往往都有自己的一個推薦規範。不同公司的規範又會有一些差別。當一個程式設計師從一個公司跳槽到另一個公司,甚至會出現不習慣新公司程式碼規範的現象。
 萬事萬物,要是有一個統一的規範,也許程式設計師這個行業會少一些煩惱。俗話說得好:沒有規矩,不成方圓。以下是筆者多年編碼得出的變數命名的心得體會,在此總結如下,並奢望有招一日能成為行業規範。 
變數命名的宗旨:

一、用最短的字元表示最多的意義。
int iPosX;     //Pos表示位置,X表示橫座標 //個人比較喜歡用n做字首 二、使用變數字首
在變數前帶上小寫字首可以很直觀的看出變數的資料型別,而不必到變數的定義處去檢視。常用的資料型別推薦變數字首:

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的字首 //個人喜歡用a做字首
TCHAR tcChar      //多位元組字元和Unicode字元相容型別的字首tc wchar_t  wcChar   //寬字元字首wc 

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;         //這樣將失去意義,不可取

 九、定義一個類使用C作為類名的字首。 class CStudent {     … };

相關推薦

變數命名通用規則

 1.變數名只能是字母(A-Z,a-z)、數字(0-9)或下劃線。  2.第一個字母不能是數字,例如2Lerver這不是一個合法的C++變數。   3.不能是c++關鍵字,例如不能用class這個單詞來命名一個變數。   4.區分大小寫,例如iA和ia是兩個不同的變數。

JavaScript變數命名規則

下面是記的有關JavaScript變數名命名規則的筆記 與C,C++等程式語言一樣,JavaScript作為一門解釋性語言,也有自己的命名規則,先說其命名原則: 變數可以由字母數字下劃線和美元符號($)組成 變數必須以字母開頭 變數也能以 $ 和 _ 符號開頭(不過我們不推

C/C++變數命名規則

變數命名規則是為了增強程式碼的可讀性和容易維護性。 必須遵守的變數命名規則: 1、 變數名只能是字母(A-Z,a-z)和數字(0-9)或者下劃線(_)組成。 2、 第一個字母必須是字母或者下劃線開頭。 3、 不能使用C++關鍵字來命名變數,以免衝突。 4、 變數名區分大小寫

1.C++變數命名規則

變數命名規則是為了增強程式碼的可讀性和容易維護性。以下為C++必須遵守的變數命名規則: 1、 變數名只能是字母(A-Z,a-z)和數字(0-9)或者下劃線(_)組成。 2、 第一個字母必須是字母或者下劃線開頭。 3、 不能使用C++關鍵字來命名變數,以免衝突。 4、 變數名區

matlab變數命名規則

變數名區分大小寫 A = 2 a = 3 變數名長度不超過63位 ABCDEFGHIJKLMNOPQRSTUVWXYZ123456ABCDEFGHIJKLMNOPQRSTUVWXYZ123456

C/C++變數命名規則,個人習慣總結

C_C++變數命名規則 變數命名規則是為了增強程式碼的可讀性和容易維護性。以下為C++必須遵守的變數命名規則: 1、 變數名只能是字母(A-Z,a-z)和數字(0-9)或者下劃線(_)組成。 2、 第一個字母必須是字母或者下劃線開頭。 3、 不能使用C++關鍵字

Linux 的變數命名規則

Linux下建議的命名規則如下。 (1)變數名必須有一定的意義,並且意義準確。例如有一個變數用於儲存圖書的數目,可以命名為number_of_book或者num_of_book。不建議使用i,因為它沒有意義。也不建議使用number或book,因為意義不準確。 (2)不建議大小寫混用。如定義一個計數變

函式、變數命名規則(源自MDN)

good example age myAge init initialColor finalOutputValue audio1 audio2 bad example 1 a _12 myage MYA

變數+標量變數+變數命名規則+變數命名規則

變數 1儲存值的命名記憶體區域,以使程式儲存和或者操作值 2變數的型別決定儲存的資料型別 3如果儲存一個單獨的值,使用標量變數 4如果儲存多個值(一行記錄),使用複合型別的變數 標量變數

類、介面、方法、變數命名規則

類名、介面名應當使用名詞,每個單詞的首字母大寫,如MyClass 方法名、變數名第一個單詞小寫,後面每個單詞的首字母大寫,如getName 常量名的每一個字母都大寫,如AGE 類名應當是名詞、或者名詞短語。例如:Customer、WikiPage, 避免使用Maneger、

C#中變數命名規則

       每學習一門新的程式語言,開始都會講變數的命名規則,現在剛接觸C#,還是會感覺很親切,我們之前學過VB,對比著來,就會發現裡面有好多東西都是雷同的,下面先講述一下C#和VB中變數命名規則有

C++ 變數命名規則

一、程式風格: 1、嚴格採用階梯層次組織程式程式碼: 各層次縮排的分格採用VC的預設風格,即每層次縮排為4格,括號位於下一行。要求相匹配的大括號在同一列,對繼行則要求再縮排4格。例如: 2、提示資訊字串的位置 在程式中需要給出的提示字串,為了支援多種語言的開發,除了一些給除

HM變數命名規則

本篇部分參考大神文章:http://blog.csdn.net/hevc_cjl/article/details/81706461)類的命名:一般來說,一個頭檔案只包含一個類的定義,檔名即為類名,且該類

PHP變數命名規則

1.類命名 (1)使用camel命名法(這個幾乎所有語言通用) (2)儘量少於3個詞 (3)縮寫詞也不要全部使用大寫字母。eg:使用GetHtmlStatic, 而不使用GetHTMLStatic。  2.函式和方法命名 通常每個方法和函式都執行一個動作,所以對

CSS命名規範(規則)常用的CSS命名規則

登錄 foo earch uil css命名規範 常用 head 主題 tags CSS命名規範(規則)常用的CSS命名規則   頭:header   內容:content/container   尾:footer   導航:nav   側欄:

Python_變數命名

Python的變數命名 變數的命名的原則一直都是我這種小白的頭疼事,好幾條,根本記不住...... 為了解決大家的頭疼問題,今天想出來一個好辦法,那就是:身邊常備頭疼片.......(哈哈哈,開玩笑的) 那言歸正傳,現在說說變數的命名規則: 變數名只能包含字母、數字和下劃線。變數名可以字母或下劃

JAVA註釋和變數命名規範

Java註釋 單行註釋://內容 多行註釋:/* 內容 */ 文件註釋:/** 內容 */ 命名 駝峰命名法 小駝峰:用於方法名,普通變數名稱 若識別符號是由單個單片語成,則全小寫。eg:int age = 10; 若識別符號是由多個單片語成,則第一個單詞小寫

【 MAKEFILE 程式設計基礎之三】詳解 MAKEFILE 變數的定義規則使用!

本站文章均為 李華明Himi 原創,轉載務必在明顯處註明: 轉載自【黑米GameDev街區】 原文連結: http://www.himigame.com/gcc-makefile/770.html     使用變數: 在Mak

C#變數命名規範

一、變數命名規範   1、Camel:變數名首單詞的首字母小寫,其餘每個單詞首字母單詞大寫,多用於給變數或欄位或方法引數命名。      eg:highSchoolStudent;   2、Pascal:每個單詞的首字母都要大些其餘小寫,多用於類或方法。eg:HighSchoolStudent; 二、變

對於volatile型變數的特殊規則

關鍵字是Java虛擬機器提供的最輕量級的同步機制 當一個變數定義為volatile之後,它具有兩種特性: 保證此變數對所有執行緒的可見性:當一條執行緒修改了這個變數的值時,新值能立即同步到主記憶體中,因此其他執行緒可以立即得知該變數修改後的值。 在以下兩種情況下能保證執行