变量命名的通用规则

目录

一、参考

 

 

一 、普通变量:

一 、 MFC中ID

一 、 vc资源名字定义格式:

一 、  MFC 消息命名

一、注意:

1、变量名只能是字母(A-Z,a-z)、数字(0-9)或下划线。 

1、第一个字母不能是数字,例如2Lerver这不是一个合法的C++变量。

1、不能是c++关键字,例如不能用class这个单词来命名一个变量。

1、区分大小写,例如iA和ia是两个不同的变量。 

一、用最短的字符表示最多的意义。

一、使用变量前缀 

1、整型的前缀 

一、变量命名的宗旨: 用最短的字符表示最多的意义。

一、使用变量前缀 

1、局部变量:tmp_

1、类的成员变量(member):m_

1、类的静态成员变量(static member):sm_

1、静态变量(static):s_

1、外部全局变量(global):g_

1、静态全局变量(static global):sg_

1、进程间共享的共享数据段全局变量(global global):gg_

1、除非不得已,否则应该尽可能少使用全局变量。

 

1、整型的前缀 

1、浮点型的前缀 

1、字符型的前缀 

1、字符串的前缀 

1、布尔型的前缀 

1、指针型的前缀  

1、数组的前缀  

1、枚举变量的前缀  

1、结构变量的前缀:t 

1、字节变量的前缀:

1、字变量的前缀 

1、字符指针的前缀 

1、STL容器类型前缀 vector  vecValue; 

1、MFC绑定控件变量的前缀 

1、矩形结构的前缀:

1、句柄对象一律以h开头

1、windows颜色类型的前缀:cr COLORREF crFront;    

1、windows中DC(设备上下文)类型的前缀 CClientDC  dcClient; 

1、类的成员变量以m_开头,后面为变量体,变量体依然要有前缀。 

1、定义一个变量,为了简化,在不影响变量意义的情况下,可以仅仅使用前缀。 RECT  rc; 

1、全局变量一律以g_开头,后面为变量体,变量体依然要有前缀。 int  g_iNums; 

 

1、变量体如果是多个单词,每个单词的首字母大写。 int iStudentAge; 

1、在意义明确的情况下可以仅仅使用首字母命名变量可以缩短变量名。 int iID; 

1、定义一个类使用C作为类名的前缀。 class CStudent {     … }; 



一、参考

https://blog.csdn.net/u012314708/article/details/52130961

https://blog.csdn.net/ainew/article/details/45582231

 

 

 

一 、普通变量:

     前缀         类型 
        a             数组 (Array)
        b             布尔值 (Boolean)
        by            字节 (Byte) == 8 bit
        c             有符号字符 (Char)
        cb            无符号字符 (Char Byte,没有多少人用)
        cr           颜色参考值 (ColorRef)
        cx,cy        坐标差(长度 ShortInt)
        dw           双字 (Double Word) == 4 Byte == 4 * 8 bit
        fn            函数(function)
        h             句柄(Handle)
        i              整型(int)
        l              长整型 (Long int)
        lp            长指针(Long Pointer)
        m_          类的成员(member of a class)
        n             短整型 (Short Int)
        np           近指针(Near Pointer)
        p             指针(Pointer)
        s             字符串型(string)
        sz            以字符''结尾的字符串 (String with Zero End)
        w             字(Word) == 2 Byte == 2 * 8 bit

一 、 MFC中ID

        IDC_:控件的ID命名前缀(Control)
        IDM_:菜单的ID命名前缀(Menu)
        IDD_:对话框的ID命名前缀(Dialog)
        IDR_:资源的ID命名前缀(Resource)
        IDS_:字符串的ID命名前缀(String)
        IDB_:位图资源的ID命名前缀(Bitmap)

一 、 vc资源名字定义格式:

        菜单:              IDM_XX //M:Menu
        位图:              IDB_XX //B:Bitmap
        对话框:          IDD_XX //D:Dialog
        字符串:           IDS_XX //S:String
        ICON:             IDI_XX //I:Icon
        按钮控件:       IDC_BTN_XX //BTN:Button
        编辑控件:       IDC_EDT_XX //EDT:EditBox
        列表控件:     IDC_LST_XX //LST:ListCtrl
        树表控件:     IDC_TRE_XX //TRE:TreeCtrl
        富文本控件: IDC_RCH_XX //RCH:RichEdit
        静态本控件: IDC_STT_XX //STT:StaticText
        组合框控件: IDC_CMB_XX //CMB:ComboBox
        滚动条控件: IDC_SCR_XX //SCR:ScrollBar
        滑动条控件: IDC_SLD_XX //SLD:Slider
        多选项控件: IDC_CHK_XX //CHK:CheckBox
        单选项控件: IDC_RDB_XX //RDB:RadioButton

一 、  MFC 消息命名

        ABM 应用程序桌面工具条application desktop toolbar 
        BM 按钮 button control 
        CB 组合框 combo box control 
        CBEM 扩展组合框 extended combo box control 
        CDM 通用对话框common dialog box 
        DBT 设备devicae 
        DL 下拉列表 drag list box 
        DM Default Push button control 
        DTM Date and time picker control 
        EM 编辑框edit control 
        HDM Header control 
        HXM 热键hot key control 
        IPM IP控件IP address control 
        LB 列表框list box control 
        LVM 列表视图list view control 
        MCM 日历控件month calendar control 
        PBM 进度条progress bar 
        PGM Pager control 
        PSM 属性property control 
        RB 伸缩条rebar control 
        SB 状态条status bar window 
        SBM 滚动条scrol bar control 
        STM 静态条static control 
        TB 工具条toolbar 
        TBM 跟踪条trackbar 
        TCM Tab control 
        TTM Tooltip control 
        TVM 树视图tree_view control 
        UDM Up_down control 
        WM 一般窗口general window
 

一、注意:

1、变量名只能是字母(A-Z,a-z)、数字(0-9)或下划线。 

1、第一个字母不能是数字,例如2Lerver这不是一个合法的C++变量。

1、不能是c++关键字,例如不能用class这个单词来命名一个变量。

1、区分大小写,例如iA和ia是两个不同的变量。 


理论上,在遵守了上面几条规则的前提下,所声明的变量名称都是合法的。比如下面的命名: 
char  xueshengming[20];    //学生名 
char  a;                   //命名一个字符,但变量名毫无意义 这样的变量命名尽管是合法的,但可读性非常差。正规的软件公司,对于变量命名往往都有自己的一个推荐规范。不同公司的规范又会有一些差别。当一个程序员从一个公司跳槽到另一个公司,甚至会出现不习惯新公司代码规范的现象。 
 万事万物,要是有一个统一的规范,也许程序员这个行业会少一些烦恼。俗话说得好:没有规矩,不成方圆。以下是笔者多年编码得出的变量命名的心得体会,在此总结如下,并奢望有招一日能成为行业规范。  
变量命名的宗旨: 


一、用最短的字符表示最多的意义。


int iPosX;     //Pos表示位置,X表示横坐标 //个人比较喜欢用n做前缀 

一、使用变量前缀 

在变量前带上小写前缀可以很直观的看出变量的数据类型,而不必到变量的定义处去查看。常用的数据类型推荐变量前缀: 

1、整型的前缀 


short sValue;     //s为short的前缀 

int iAge;         //i为int的前缀 
unsigned int uiAge;   //ui为unsigned int的前缀(两个单词的首字母) //也有用u做前缀的 
long lValue;      //l为long的前缀 2.浮点型的前缀 
float fScore;    //f为float的前缀 

1.变量名只能是字母(A-Z,a-z)、数字(0-9)或下划线。 

 2.第一个字母不能是数字,例如2Lerver这不是一个合法的C++变量。 
 
3.不能是c++关键字,例如不能用class这个单词来命名一个变量。

  4.区分大小写,例如iA和ia是两个不同的变量。 

理论上,在遵守了上面几条规则的前提下,所声明的变量名称都是合法的。比如下面的命名: 
char  xueshengming[20];    //学生名 
char  a;                   //命名一个字符,但变量名毫无意义 
这样的变量命名尽管是合法的,但可读性非常差。正规的软件公司,对于变量命名往往都有自己的一个推荐规范。不同公司的规范又会有一些差别。当一个程序员从一个公司跳槽到另一个公司,甚至会出现不习惯新公司代码规范的现象。 
 万事万物,要是有一个统一的规范,也许程序员这个行业会少一些烦恼。俗话说得好:没有规矩,不成方圆。以下是笔者多年编码得出的变量命名的心得体会,在此总结如下,并奢望有招一日能成为行业规范。  

一、变量命名的宗旨: 用最短的字符表示最多的意义。


int iPosX;     //Pos表示位置,X表示横坐标 //个人比较喜欢用n做前缀 

一、使用变量前缀 


在变量前带上小写前缀可以很直观的看出变量的数据类型,而不必到变量的定义处去查看。常用的数据类型推荐变量前缀: 

1、局部变量:tmp_

 

1、类的成员变量(member):m_

 

1、类的静态成员变量(static member):sm_

 

1、静态变量(static):s_

 

1、外部全局变量(global):g_

 


1、静态全局变量(static global):sg_

 

1、进程间共享的共享数据段全局变量(global global):gg_

 

1、除非不得已,否则应该尽可能少使用全局变量。

 

 

1、整型的前缀 


short sValue;     //s为short的前缀 int iAge;         //i为int的前缀 
unsigned int uiAge;   //ui为unsigned int的前缀(两个单词的首字母) //也有用u做前缀的 
long lValue;      //l为long的前缀 

1、浮点型的前缀 


float fScore;    //f为float的前缀 
double dValue;   //d为double的前缀 

1、字符型的前缀 


char cChar;      //c为char的前缀 //个人喜欢用a做前缀 
TCHAR tcChar      //多字节字符和Unicode字符兼容类型的前缀tc wchar_t  wcChar   //宽字符前缀wc 

1、字符串的前缀 


char szName[30];  //sz为C语言字符串的前缀 string strName;   //str为C++字符串变量的前缀 CString strInfo;  //str为MFC字符串变量的前缀 

1、布尔型的前缀 


bool bPass;      //b为bool的前缀 

1、指针型的前缀  


 int *pValue;    //p为指针的前缀 
说明:由于指针是指向一定数据类型的变量,因此p后面要不要再加一个前缀一直让我举棋不定。如果再加上前缀比如:      int * piKey;   
char * pszInfo; 
这样似乎意义更完整,但势必会增加变量的字符长度。因此,这里就不硬性规定了。但是,指针变量以p开头应该是雷也打不动的。 


1、数组的前缀  

 int arrNum[10];  //arr为数组的前缀 
 
说明:和指针变量一样,arr后是否再加数组元素的数据类型前缀取决于你自己。 string arrstrName[3];  //C++字符串数组,加上去似乎很别扭 

1、枚举变量的前缀  


 enum  emWeek;    //em为枚举变量的前缀 

1、结构变量的前缀:t 

定义结构体为了保证和C语言和C++的写法兼容性,一律采用typedef语句。

 typedef   struct  T_NODE 


  int  iData; 

 }tNode, *tPNode; 

T_NODE  tNode;    //结构名称以T_开头 

 

 

1、字节变量的前缀:

by BYTE  byInfo; 

1、字变量的前缀 


DWORD  dwInfo;    //双字 WORD    wInfo;    //单字 

1、字符指针的前缀 


LPCTSTR  ptszInfo;     //ptsz表示前缀,t表示TCHAR类型 LPCSTR  pszInfo; LPSTR  pszInfo; 

1、STL容器类型前缀 vector<int>  vecValue; 

  
说明:vec表示vector容器的前缀,为了简化变量,变量体后面不再使用前缀 list<double>  lstInfo; 

1、MFC绑定控件变量的前缀 


CEdit  m_ctlName;      //对象变量,变量体前统一用ctl表示 //个人喜欢用m_ctrl 
int    m_iAge;    //值变量,变量体有表示值数据类型的前缀 
说明:由于长短指针在32位操作系统后已无区别,所以不再区分,一律以p开头,这也与指针变量以p开头的原则贴得更近。 

1、矩形结构的前缀:

rc RECT  rcClient;    CRect  rcWin; 

1、句柄对象一律以h开头

 HWND hWndName; HBRUSH  hBr; HPEN  hPen; HBITMAP  hBmpBack; 

1、windows颜色类型的前缀:cr COLORREF crFront;    

1、windows中DC(设备上下文)类型的前缀 CClientDC  dcClient; 

1、类的成员变量以m_开头,后面为变量体,变量体依然要有前缀。 

int  m_iDepth; 

1、定义一个变量,为了简化,在不影响变量意义的情况下,可以仅仅使用前缀。 RECT  rc; 

1、全局变量一律以g_开头,后面为变量体,变量体依然要有前缀。 int  g_iNums; 

 

1、变量体如果是多个单词,每个单词的首字母大写。 int iStudentAge; 

1、在意义明确的情况下可以仅仅使用首字母命名变量可以缩短变量名。 int iID; 


说明:仅使用首字母表示变量体的前提是保证变量的意义,比如变量iStudentAge如果声明成: 
int  iSA;         //这样将失去意义,不可取

1、定义一个类使用C作为类名的前缀。 class CStudent {     … }; 

  • 1
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PascalCase命名规则是一种常用的命名约定,它要求将多个单词的首字母都大写,并且没有使用任何分隔符。这种命名规则通常用于组件名或类名等标识符的命名。例如,组件名"AppHeader"就是一个符合PascalCase规则命名。 引用中提到了PascalCase是最通用的声明约定,意味着在编程中,我们经常使用PascalCase来命名变量、函数、类等标识符。这种命名规则具有良好的可读性和语义化,能够清晰地表达出标识符的含义。 总结来说,PascalCase命名规则要求将多个单词的首字母都大写,并且没有使用任何分隔符,它是一种常用的命名约定,用于标识符的命名,例如组件名或类名。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue项目前端规范资源](https://download.csdn.net/download/xtq1997/87323173)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [前端命名规范及常用命名整理](https://blog.csdn.net/weixin_42541725/article/details/124599312)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值