高效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,防止產生野指針。
總結
- 上一篇: 编写实现atoi函数
- 下一篇: STL中的set容器的一点总结