推薦編寫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,防止産生野指針。