C++命名規(guī)則

前言

在初學(xué)C++的時候,一定要養(yǎng)成良好的命名習(xí)慣才可以讓程序的可讀性大大提高,這里我整理和收集了一些有用的命名規(guī)則,以便自己 后續(xù)程序閱讀和分享。其中一些摘自網(wǎng)絡(luò),將比較常識性的東西去掉了,保留了自認(rèn)為有價值的一些內(nèi)容。

變量命名

變量或者函數(shù)的命名通常有一些準(zhǔn)則可供參考,這里僅僅羅列了比較有用的一些:

準(zhǔn)則 描述
最小長度原則 語意明確情況下,應(yīng)當(dāng)縮短命名長度
不重命名 在不同作用域中盡量不適用相同的命名
避免出現(xiàn)數(shù)字符號 避免名字中出現(xiàn)數(shù)字符號


變量名稱由作用域+類型前綴+一個或者多個單詞組成

作用域前綴

作用域前綴的常見寫法如下:

前綴 說明
局部變量
m_ 類的成員
sm_ 靜態(tài)類的成員
s_ 靜態(tài)成員
g_ 外部全局變量
sg_ 外部靜態(tài)全局變量
gg_ 進(jìn)程間共享的全局變量

其中:除非不得已,盡可能少用全局變量

類型前綴

普通類型

普通類型是我們常見的一些數(shù)據(jù)類型,沒有經(jīng)過自定義

前綴 說明 關(guān)鍵詞 示例
n 整形和位域變量 number int nCode
e 枚舉變量 enum emum type eColor
c 字符型變量 char char cName
sz C類型字符串 char * char * szTemp[10]
cs CString字符串 CString CString csStr()
b 布爾類型變量 bool bool bFlag
f 浮點數(shù)據(jù) float float fNumber
p 指針變量和迭代器 pointer Log* pLog
pfn 指向函數(shù)的指針變量,函數(shù)對象指針 pointer of function 待定
g 數(shù)組 grid/Array int gNumList[]
i 類的實例 instance Log iLog
h 句柄類型 HANDLE m_hWnd
- - - -
str 字符串 std::string std::string strName
v vector std::vector std::vector vTestItem

類型前綴可以使用組合方式,如vnNumList="vector int NumList"

枚舉類型

枚舉類型全部使用大寫字母,并且最后一個字母為E

//LIMIT_CHECK_TYPE_E 上下限類型,E代表枚舉
enum LIMIT_CHECK_TYPE_E
{
  LIMIT_NONE,
  LIMIT_LOWER_ONLY,
  LIMIT_UPPER_ONLY,
  LIMIT_BOTH,
};

結(jié)構(gòu)體

結(jié)構(gòu)體中,變量最后一個字母使用_T表示

CAMERA_BLEMISH_CONFIG_T{
}

類命名

屬性命名

參考作用域前綴 部分

前綴 說明
局部變量
m_ 類的成員

方法命名

范圍不同,方法前增加的下劃線長度不同,這里是以前不曾注意到的點

類別 描述
函數(shù)命名 函數(shù)的名稱由一個或者多個單詞組成,每個單詞首字母大寫
保護(hù)成員(Protected) 保護(hù)成員函數(shù)應(yīng)當(dāng)加上一個“_"以便區(qū)別,如_SetValue()
私有成員 私有成員添加兩個下劃線,如__GetValue()
虛函數(shù) 虛函數(shù)習(xí)慣以“Do”開頭,_DoEncryption
回調(diào)和事件處理函數(shù) 回調(diào)和事件處理函數(shù)以O(shè)n開頭,如__OnTimer()

常量命名

常量命名由類型前綴+全部大寫組成,單詞通過下劃線(_)來進(jìn)行分隔
nMAX_BUFFER,cMY_NAME

注釋

完整注釋

/*************************************************
Function:       PortUI::OnInitDlg() 
Description:    用于初始化界面的List.
Parameter:      Dlg的引用  HWND MainWnd。
Time:          20170831
Author:        LiangYaoting
*************************************************/

簡短注釋

//20170831 LYT 初始化界面
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容