C、C++变量命名规则

来源:互联网 发布:java 函数的返回值 编辑:程序博客网 时间:2024/05/20 00:12

转载自: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前缀:nshort             sId;            //short前缀:sunsigned int      unId          // unsigned int 前缀:unlong              lId;             //long前缀:l 2、  浮点型前缀float              fValue;      //float前缀:fdouble             dValue;     //double前缀:d 3、  字符型前缀char                chChar;    //char前缀:ch 4、  字符串前缀char                szPath;     //char字符串前缀:szstring              strPath;   //string字符串前缀:strCString             strPath;   //MFC CString类前缀:str 5、  布尔型前缀bool                bIsOK;      //bool类型前缀:bBOOL                bIsOK;      //MFC BOOL前缀:b 6、  指针型前缀char *              pPath;      //指针前缀:p 7、  数组前缀int                 arrnNum;                   //数组前缀:arrCString             arrstrName;    //数组前缀+类型前缀+名称 8、  结构体前缀STUDENT             tXiaoZhang;     //结构体前缀:t 9、  枚举前缀enum                 emWeek;          //枚举前缀:em 10、              字节的前缀BYTE                 byIP;                   //字节前缀:by 11、              字的前缀DWORD              dwMsgID;        //双字前缀:dwWORD               wMsgID;           //单字前缀:w 12、              字符指针前缀LPCTSTR             ptszName;       //TCHAR类型为ptszLPCSTR              pszName;                  //pcszLPSTR               pszName;                  //psz 13、              STL容器前缀vector        vecValue;          //vector容器前缀:vec 14、              RECT矩形结构前缀RECT                 rcChild;              //rcCRECT                rcChild/             //rc 15、              句柄前缀HWND                hWndDlg;         //hHBRUSH              hBr;                    //hHPEN                hPen;                 //hHBITMAP             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;                     //ListBoxCListCtrl                  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;



0 0
原创粉丝点击