編程經常使用命名大全

 

隨着編程工做的深刻,我深入的體會到,最浪費程序員時間的不只僅是BUG,還有取名。程序員

每次新建一個類,一個變量,一個函數,都tm的要想半天到底取什麼名字,真的是好浪費時間。編程

因此爲了跟別的妖豔賤貨不同,我正打算把經常使用的命名記錄下來,並整理編程的命名原則和命名規範,函數

整理出來貼在個人博客並置頂,我以爲這樣會大大節省個人編程時間,提升編程效率。工具

直到有一天,我能熟練的掌握相關規範,不會再因取名字而糾結,就取消置頂。開發工具

 

 

1、共性規則spa

1>「匈牙利」命名法:在變量和函數名中加入前綴以增進人們對程序的理解;
操作系統

eg:code

class CStude;orm

int  nCount;對象

int* pCount;

 

2>標識符應當直觀且能夠拼讀,可望文知意,沒必要進行「解碼」。

標識符最好採用英文單詞或其組合,便於記憶和閱讀。切忌使用漢語拼音來命名。

程序中的英文單詞通常不會太複雜,用詞應當準確。例如不要把CurrentValue寫成NowValue。

 

3>標識符的長度應當符合「min-length && max-information」原則。

幾十年前老ANSI C規定名字不許超過6個字符,現今的C++/C再也不有此限制。通常來講,長名字能

更好地表達含義,因此函數名、變量名、類名長達十幾個字符不足爲怪。那麼名字是否越長約好?

不見得! 例如變量名maxval就比maxValueUntilOverflow好用。單字符的名字也是有用的,常見的

如i,j,k,m,n,x,y,z等,它們一般可用做函數內的局部變量。

 

4>命名規則儘可能與所採用的操做系統或開發工具的風格保持一致。

例如Windows應用程序的標識符一般採用「大小寫」混排的方式,如AddChild。而Unix應用程序的標

識符一般採用「小寫加下劃線」的方式,如add_child。別把這兩類風格混在一塊兒用。

 

5>程序中不要出現僅靠大小寫區分的類似的標識符。

eg:

nt  x, X;        // 變量x 與 X 容易混淆

void foo(int x);   // 函數foo 與FOO容易混淆

void FOO(float x);

 

6>程序中不要出現標識符徹底相同的局部變量和全局變量,儘管二者的做用域不一樣而不會發生語法錯誤,但會令人誤解。

 

 

7>變量的名字應當使用「名詞」或者「形容詞+名詞」。

eg:

float value;

float oldValue;

float newValue;

 

8>全局函數的名字應當使用「動詞」或者「動詞+名詞」(動賓詞組)。類的成員函數應當只使用「動詞」,被省略掉的名詞就是對象自己。

eg:

DrawBox();                  // 全局函數

box->Draw();               // 類的成員函數

 

9>用正確的反義詞組命名具備互斥意義的變量或相反動做的函數等。

eg:

int     minValue;

int     maxValue;

int     SetValue(…);

int     GetValue(…);

 

10>儘可能避免名字中出現數字編號,如Value1,Value2等,除非邏輯上的確須要編號。這是爲了防止程序員

偷懶,不願爲命名動腦筋而致使產生無心義的名字(由於用數字編號最省事)。

 

2、簡單的Windows應用程序命名規則

1>類名和函數名用大寫字母開頭的單詞組合而成。

eg:

     class Node;                      // 類名

     class LeafNode;                  // 類名

     void Draw(void);           // 函數名

     void SetValue(int value); // 函數名

 

2>變量和參數用小寫字母開頭的單詞組合而成。

eg:

bool flag;

int drawMode;

 

3>常量全用大寫的字母,用下劃線分割單詞。

eg:

const int MAX = 100;

const int MAX_LENGTH = 100;

 

4>類的數據成員加前綴m_(表示member),這樣能夠避免數據成員與成員函數的參數同名。

eg:

     void Object::SetValue(int width, int height)

     {

         m_width = width;

    m_height = height;

}

5>爲了防止某一軟件庫中的一些標識符和其它軟件庫中的衝突,能夠爲各類標識符加上能反映軟件性

質的前綴。例如三維圖形標準OpenGL的全部庫函數均以gl開頭,全部常量(或宏定義)均以GL開頭。

 

 

3、經常使用的命名單詞


這裏是我這三個月的編程中所積累到的經常使用的單詞;其實有了這些,再加上以前的命名規範,命名就會變的如此簡單

 

 

getInstance    //得到實例
upData        //數據更新
onRender    //渲染    
init...        //初始化...
set...        //設置/更改 
loadFile    //裝載文件
add..by..    //添加...
moveDown    //移動
backup        //備份
revert        //恢復
count        //計數
londFile    //讀取文件
Birth        //初始
Vaule        //
index        //索引
create...    //建立        
Entity      //(父類用)
Monster        //怪物
Scene        //場景
Node        //節點
director    //主管
stance        //立場
select        //挑選
refresh        //更新、使.....恢復
Global         //全局、全球
Register    //註冊
Controller     //控制器

 

 

 

 

 

 

 

 

 

 

 

 

 

俗話說的好,沒有一種命名規則可讓全部的程序員贊同。命名規則對軟件產品而言並非「成敗悠關」的事,

咱們不要化太多精力試圖發明世界上最好的命名規則,我今天整理的命名規則只是一種參考,跟我的有關。

相關文章
相關標籤/搜索