高質量C C程式設計指南(三)命名規則

2021-10-06 16:26:08 字數 2395 閱讀 8092

目錄

一、共性規則

二、簡單的windows應用程式命名規則

[規則3-1-1]  識別符號應當直觀且可以拼讀,可望文知意,不必進行「解碼」識別符號最好採用英文單詞或其組合,便於記憶和閱讀。切忌使用漢語拼音來命名。程式中的英文單詞一般不會太複雜,用詞應當準確。例如不要把currentvalue寫成nowvalue。

[規則3-1-2]  識別符號的長度應當符合「min-length && max-information」 原則。幾十年前老ansi c規定名字不准超過6個字元,現今的c++/c不再有此限制。一般來說,長名字能更好地表達含義,所以函式名、變數名、類名長達十幾個字元不足為怪。那麼名字是否越長約好?不見得!例如變數名maxval就比maxvalueuntiloverflow好用。單字元的名字也是有用的,常見的如i, j,k,m,n,x,y,z等,它們通常可用作函式內的區域性變數。

[規則3-1-3]  命名規則盡量與所採用的作業系統或開發工具的風格保持一致。例如windows應用程式的識別符號通常採用「大小寫」混排的方式,如addchild。而unix應用程式的識別符號通常採用「小寫加下劃線」的方式,如add_ child。別把這兩類風格混在一起用。

[規則3-1-4]  程式中不要出現僅靠大小寫區分的相似的識別符號

[規則3-1-5]  程式中不要出現識別符號完全相同的區域性變數和全域性變數,儘管兩者的作用域不同而不會發生語法錯誤,但會使人誤解。

[規則3-1-6]變數的名字應當使用「名詞」或者「形容詞十名詞」

[規則3-1-7]全域性函式的名字應當使用「動詞」或者「動詞+名詞」(動賓片語)。類的成員函式應當只使用「動詞」被省略掉的名詞就是物件本身。

drawbox(); //全域性函式

box->draw(); //類的成員函式

[規則3-1-8]  用正確的反義詞組命名具有互斥意義的變數相反動作的函式等。

[建議3-1-9]盡量避免名字**現數字編號,如valuel, value2等,除非邏輯上的確需要編號。這是為了防止程式設計師偷懶,不肯為命名動腦筋而導致產生無意義的名字(因為用數字編號最省事)。

[規則3-2-1]類名函式名大寫字母開頭的單詞組合而成。

[規則3-2-2]變數引數小寫字母開頭的單詞組合而成。

[規則3-2-3]常量全用大寫的字母用下劃線分割單詞

[規則3-2-4]靜態變數加字首s_(表示 static)。

[規則3-2-5]  如果不得已需要全域性變數,則使全域性變數加字首g_(表示 global)。.

[規則3-2-6]類的資料成員加字首m_(表示 member),這樣可以避免資料成員與成員函式的引數同名。

[規則3-2-7]  為了防止某一軟體庫中的一些識別符號和其它軟體庫中的衝突,可以為各種識別符號加上能反映軟體性質的字首。例如三維圖形標準opengl的所有庫函式均以gl開頭,所有常量(或巨集定義)均以gl開頭。

高質量C C程式設計指南 第3章 命名規則

第3章 命名規則 比較著名的命名規則當推microsoft公司的 匈牙利 法,該命名規則的主要思想是 在變數和函式名中加入字首以增進人們對程式的理解 例如所有的字元變數均以ch為字首,若是指標變數則追加字首p。如果乙個變數由ppch開頭,則表明它是指向字元指標的指標。匈牙利 法最大的缺點是煩瑣,例如...

高質量C C程式設計指南 第3章 命名規則

第3章 命名規則 比較著名的命名規則當推microsoft公司的 匈牙利 法,該命名規則的主要思想是 在變數和函式名中加入字首以增進人們對程式的理解 例如所有的字元變數均以ch為字首,若是指標變數則追加字首p。如果乙個變數由ppch開頭,則表明它是指向字元指標的指標。匈牙利 法最大的缺點是煩瑣,例如...

高質量C C程式設計指南

1.如果引數是指標,且僅作輸入用,則應在型別前加const,以防止該指標在函式體內被意外修改 2.在函式體的 入口處 對引數的有效性進行檢查 在函式體的 出口處 對return語句的正確性和效率進行檢查 3.引用的一些規則如下 1 引用被建立的同時必須被初始化 指標則可以在任何時候被初始化 2 不能...