天天看點

高效C++程式設計

推薦編寫C++的代碼風格,看似容易,堅持不易,且寫且珍惜!  --陳國林

1. 版本和版本聲明

版本和版本檔案聲明位于頭檔案和定義檔案的開頭,主要内容

(1)版本資訊

(2)檔案名稱、辨別符、摘要

(3)目前的版本号、作者、修改日期

(4)版本曆史資訊

2. 程式版式

(1)在每個類聲明之後、每個函數定義之後都要加上一個空行

(2)一行代碼隻做一件事情

(3)if、for、while、do各占一行,執行語句不得緊跟其後,不論執行語句多少都加上{}

(4)盡量在定義一個變量的時候就初始化該變量

(5)程式分界符{和}必須獨占一行并且左對齊

(6)代碼長度不宜超過70至80個字元,超過之後拆成新行,操作符放在新行之首

(7)應該把*和&修飾符靠近變量名,例如int *x = &a

(8)類中建議先把public類型寫在前面,再寫private類型

3. 命名規則

(1)類名和函數名要用大寫字母開頭單詞組成

(2)變量和參數要使用小寫字母開頭單詞組成

(3)常量全用大寫字母,用下劃線分割單詞

(4)靜态變量加上字首s_,例如static int s_num

(5)全局變量加上字首g_,例如int g_num

(6)類的資料成員前面加上m_,可以和成員函數和靜态成員區分開

4. 表達式和基本語句

(1)不可将bool值直接和true、false、0、1進行比較。如果flag是bool類型,直接if(flag)這樣判斷即可

(2)整型變量應該要直接和0比較,比如num為整型變量,if(num == 0)

(3)不可将浮點型變量直接用 == 和 !=來進行比較

(4)指針變量要直接和NULL進行比較,例如p為指針變量,if(p != NULL)

5. 函數設計

(1)函數參數的書寫要完整,如果沒有參數,用void填補

(2)如果參數有指針,并且該指針隻是讀取作用應該要加上const,防止指針意外修改

(3)在函數的内部入口應該要對參數的有效性進行檢查

(4)函數的功能要單一,不要設計多用途的函數

(5)函數體的規模要小,控制在50行代碼

6. 記憶體管理

(1)malloc和new申請記憶體之後,應該要立即檢查指針是否為NULL,防止使用指針值為NULL的記憶體。

(2)要對數組和動态記憶體賦初值,防止将未初始化的記憶體作為右值使用

(3)用free或delete釋放了記憶體之後,立即将指針指向NULL,防止産生野指針。

繼續閱讀