C、C++变量命名规则

28 篇文章 1 订阅

转载自:http://blog.sina.com.cn/s/blog_8a7012cf01017h9p.html

变量命名规则是为了增强代码的可读性和容易维护性。以下为C++必须遵守的变量命名规则:
 
1、 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。
2、 第一个字母必须是字母或者下划线开头。
3、 不能使用C++关键字来命名变量,以免冲突。
4、 变量名区分大小写。
 
变量命名规则:
一、             用最短字符表示最准确的意义。
二、             使用变量前缀。
1、  整型前缀
int               nId;           //int前缀:n
short             sId;            //short前缀:s
unsigned int      unId          // unsigned int 前缀:un
long              lId;             //long前缀:l
 
2、  浮点型前缀
float              fValue;      //float前缀:f
double             dValue;     //double前缀:d
 
3、  字符型前缀
char                chChar;    //char前缀:ch
 
4、  字符串前缀
char                szPath;     //char字符串前缀:sz
string              strPath;   //string字符串前缀:str
CString             strPath;   //MFC CString类前缀:str
 
5、  布尔型前缀
bool                bIsOK;      //bool类型前缀:b
BOOL                bIsOK;      //MFC BOOL前缀:b
 
6、  指针型前缀
char *              pPath;      //指针前缀:p
 
7、  数组前缀
int                 arrnNum;                   //数组前缀:arr
CString             arrstrName;    //数组前缀+类型前缀+名称
 
8、  结构体前缀
STUDENT             tXiaoZhang;     //结构体前缀:t
 
9、  枚举前缀
enum                 emWeek;          //枚举前缀:em
 
10、              字节的前缀
BYTE                 byIP;                   //字节前缀:by
 
11、              字的前缀
DWORD              dwMsgID;        //双字前缀:dw
WORD               wMsgID;           //单字前缀:w
 
12、              字符指针前缀
LPCTSTR             ptszName;       //TCHAR类型为ptsz
LPCSTR              pszName;                  //pcsz
LPSTR               pszName;                  //psz
 
13、              STL容器前缀
vector        vecValue;          //vector容器前缀:vec
 
14、              RECT矩形结构前缀
RECT                 rcChild;              //rc
CRECT                rcChild/             //rc
 
15、              句柄前缀
HWND                hWndDlg;         //h
HBRUSH              hBr;                    //h
HPEN                hPen;                 //h
HBITMAP             hBmpBack;       //h
 
16、              Windows颜色前缀
COLORREF            crFont;               //cr
 
17、              Windows DC前缀
CDC                 dcClient;           //dc
 
三、             类的成员变量以m_开头,后面为变量,变量同时还要加前缀。
CString                 m_strName;    //m_开头+类型前缀+名称
 
四、             定义一个变量,为了简化,在不影响变量意义的情况下,可仅仅使用前缀。
RECT                    rc;
 
五、             全局变量一律以g_开头,后面为变量,变量同时还要加前缀。
int                     g_ID;                  //g

六、             定义结构体,保证C和C++兼容,采用typedef语句,并且结构体类型全部大写,以T_开头,指针形式以PT_开头。
typedef            struct       tag TSTUDENT
{
         int            nId;
         CString     strName;
}STUDENT,*PSTUDENT;
STUDENT                  tXiaoZhang;     //完整定义结构体
 
七、             变量由多个单词组成,则每个单词的首个字母大写。
int                       nStudentID;
CString                   strStudentName;
 
八、             定义一个类以C或者T做为类名前缀。
class                     CMyListCtrl;
class                     TMyListCtrl;
 
九、             MFC控件绑定值类别或者控件类类别,需要以m_开头并且加前缀。
CEdit                      m_EDT_strValue;              //Edit绑定控件类别
CListBox                   m_LB_nName;                     //ListBox
CListCtrl                  m_LC_Name;                     //ListCtrl;
CComboBox                  m_CB_Name;                    /ComboBox
 
十、             控件ID尽量简化并表明控件类型和意义。
Button                     IDC_BNT_NAME;
Edit                       IDC_EDT_NAME;
ListBox                    IDC_LB_NAME;
ListCtrl                   IDC_LC_NAME;
ComboBox                   IDC_CB_NAME;

十一、 有关项目中变量的命名规则

有关项目的全局变量用g_开始,类成员变量用m_,局部变量若函数较大则可考虑用l_用以显示说明其是局部变量。

前缀       类型       例子

g_    全局变量       g_Servers

C     类或者结构体       CDocument,CPrintInfo

m_   成员变量       m_pDoc,m_nCustomers


十二、WINDOWS编程常用对象命名规则

Windows对象       例子变量       MFC类       例子对象

HWND    hWnd;       CWnd*       pWnd;

HDLG     hDlg;       CDialog*       pDlg;

HDC       hDC;       CDC*       pDC;

HGDIOBJ       hGdiObj;       CGdiObject*     pGdiObj;

HPEN     hPen;       CPen*       pPen;

HBRUSH hBrush;       CBrush*       pBrush;

HFONT   hFont;       CFont*       pFont;

HBITMAP       hBitmap;       CBitmap*       pBitmap;

HPALETTE       hPalette;       CPalette*       pPalette;

HRGN     hRgn;       CRgn*       pRgn;

HMENU hMenu;       CMenu*       pMenu;

HWND    hCtl;       CStatic*       pStatic;

HWND    hCtl;       CButton*       pBtn;

HWND    hCtl;       CEdit*       pEdit;

HWND    hCtl;       CListBox*       pListBox;

HWND    hCtl;       CComboBox*       pComboBox;



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值