zoukankan      html  css  js  c++  java
  • C/C++变量命名规则,个人习惯总结【转载】

    C_C++变量命名规则

    原文地址: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;

  • 相关阅读:
    SQLServer 日期函数大全 SQLServer 时间函数大全
    matlab练习程序(最小二乘多项式拟合)
    常用的docker命令
    【Python】keras使用LSTM拟合曲线
    【Python】keras使用Lenet5识别mnist
    【Python】pydot安装失败解决方法
    【Python】keras卷积神经网络识别mnist
    【Python】keras神经网络识别mnist
    matlab练习程序(神经网络识别mnist手写数据集)
    判断exe是64位还是32位
  • 原文地址:https://www.cnblogs.com/DawaTech/p/4768392.html
Copyright © 2011-2022 走看看