C_C++变量命名规则

变量命名规则是为了增强代码的可读性和容易维护性。以下为C++必须遵守的变量命名规则:

 

1、 变量名只能是字母(A-Za-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

六、             定义结构体,保证CC++兼容,采用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;


http://www.zhangliangyi.com/post/18.aspx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433011.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pycharm怎么编写python代码_如何设置PyCharm中的Python代码模版(推荐)

在MacOs运行的PyCharm中,执行python文件,如果不指定python文件字符编码会报错:SyntaxError: Non-ASCII character \xe6 in file /Users/yuchao/PycharmProjects/oldboy_python/python_lesson/模块与包/spam.py on line 6,but no encoding dec…

转载——开阔自己的视野,勇敢的接触新知识

在我们公司有buddy制度。每个新员工都会被分配给一个有经验的员工。老员工会在新员工6个月的试用期内给予各种各样的帮助。前几天我被分配到一个新buddy。在和他一起聊天的过程中,明显感觉到他有一些忧虑。“我以前主要做的是c,没做过java,怎…

select与pselect的信号屏蔽

pselect() 函数的原型是:int pselect(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, const struct timespec *timeout, const sigset_t *sigmask); 它和 select() 函数基本相同,区别在于两个不同的参数&#xff…

vb访问mysql容易死机_VB访问MySQL

最近研究的东西中, 有一部分涉及到用VB访问MySQL数据库, 今天研究了一下小有收获, 共享出来供大家参考首先下载MySQL 的 ODBC 驱动, 我下载的是 MySQL ODBC 3.51 withoutinstaller 版, 下载后是一zip包, 随便解压到哪, 然后运行 cmd, 定位路径到解压的目录, 然后运行 install.b…

cookie注入讲解

我们首先还是来看看中网景论坛的最新版本"(CNKBBS2007)中网景论坛2007v5.0 "官方下载地址" http://www.cnetking.com/websys2.asp?id26"发布时间是2007-06-06,打开系统的源代码后,在"user_RxMsg_detail.asp"文件中,有如下代码:<!--#include …

sigprocmask 阻塞进程

本系列文章由muge0913编写&#xff0c;转载请注明出处&#xff1a;http://blog.csdn.net/muge0913/article/details/7334771 1、有时候不希望在接到信号时就立即停止当前执行&#xff0c;去处理信号&#xff0c;同时也不希望忽略该信号&#xff0c;而是延时一段时间去调用信号处…

python ftp 设置代理_用Python搭建一个简单的代理池

def get_user_agent():随机获取一个用户代理user_agents["Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET …

C++变量命名规则

浅谈C变量命名规则 不知道别的公司如何&#xff0c;反正我现在的公司对变量命名并没有一定的规范&#xff0c;唯一要求就是能简单易懂&#xff0c;但是&#xff0c;我想&#xff0c;这个多个程序员&#xff0c;大概每个人都有自己习惯的一套 命名规则吧&#xff0c;不过&#…

JavaScript中奇妙的replace

1、发现问题&#xff1a; 今天在读require.js源代码时&#xff0c;不经意读到这么一段代码&#xff1a; 1 //If no name, and callback is a function, then figure out if it a2 //CommonJS thing with dependencies.3 if (!deps && isFunction(callback)) {4 dep…

python3 x和python2 x区别_Python知识:Python 3.x和2.x版本的使用区别

使用Python时都需要安装相应的版本&#xff0c;不同的版本适用性也不一样。今天从除法算子、打印功能、Unicode、Xrange、错误处理、未来模块方面看看Python2.x和Python3.x之间的区别。除法算子在移植代码或在python2.x中执行python3.x代码时&#xff0c;要注意整数除法的更改&…

select EINTR

实验环境&#xff1a;ubuntuKylin 13.10 在程序里同时有select和定时器&#xff0c; select 会被定时器产生的EINTR中断 在定时器的设置中增加了SA_RESTART和sigprocmask&#xff0c;发现都不管用 只能自己判断EINTR来重启select了。 在select被EINTR中断时&#xff0c;我输…

移除首页-重回首页

之前发布了一篇文章《订餐系统之获取淘宝外卖订单》&#xff0c;因为是关于淘宝外卖的&#xff0c;所以文中出现这个词时&#xff0c;都加了链接&#xff0c;还设置了 target_blank,就是为了让看的人方便点击&#xff0c;查看。后来&#xff0c;博客园说这个文章中含有推广链接…

sap客户信贷_信贷控制,FD32的销售值不会变化,只有应收总额的变化

请去检查 行项目类型的设定.里面有个栏位 Credit active , 我基本可以确定这里没有勾上才会出现你的问题.ID: Item with active credit function / relevant for creditSpecifies whether the credit management functions (credit checks and update statistics) for order, d…

Scrum之 Sprint计划会议

在sprint第一天召开sprint计划会议&#xff0c;这个会议分为两部分&#xff0c;计划会议1由PO、SM和Team参加&#xff0c;主要是从产品backlog中挑选出需要放到当前sprint下的既定产品backlog&#xff0c;然后由SM、Team参加计划会议2&#xff0c;把既定产品backlog的故事拆分成…

树莓派dht11 python_树莓派使用DHT11温湿度传感器

使用wiringpi编写C程序&#xff1a;如下程序借鉴了网上一老外的程序&#xff0c;忘了原帖地址在哪。#include #include #include #include #define MAX_TIME 85#define DHT11PIN 7#define ATTEMPTS 5 //retry 5 times when no responseint dht11_val[5]{0,0,0,…

java 输出流_Java中输入输出流方法总结

4.如果你创建了一个文件对象,你可以使用下面的方法来获得文件的相关信息,对文件进行操作。1)文件名的操作public String getName()&#xff1b;返回文件对象名字符串&#xff0c;串空时返回nullpublic String toString()&#xff1b;返回文件名字符串public String getParent()…

Windows 8操作技巧之快捷键大全

Windows 8操作系统发布之后&#xff0c;因为其新颖的界面和对触屏友好的设计&#xff0c;使许多长期使用Windows系统的用户&#xff0c;也觉得一时难以适应&#xff0c;一些操作方式也不知道如何去实现。在Windows系统中&#xff0c;快捷键无疑是提高操作速度的杀手锏。然而&am…

Scrum之 站立例会

在sprint期间&#xff0c;每天都会通过站立例会来进行沟通&#xff0c;以下我将把会议主要内容罗列一下。&#xff08;以下会议内容来自于Scrum Checklists) 会议内容 目标 团队成员间工作进度的沟通和协调 会议准备 邀请与会者&#xff1a;团队所有成员、Scrum Master、产品负…

Java中带标签的break,continue

首先不带标签的break,continue 就不介绍了。大家平时用的最多的也就是这样的情况了。 首先Java中没有goto&#xff0c;但是可以利用带标签的break, continue来实现类似的跳转。 首先来看一个例子&#xff1a; label:for (int i 0; i < 10; i) {for (int j 0; j < 10; j…

Scrum之 回顾会议

Scrum中Sprint计划会议是最重要的事件&#xff0c;第二重要的事件就是回顾会议&#xff0c;因为这是团队做改进的最佳时机。如果没有回顾&#xff0c;就会发现团队在重犯相同的错误。在sprint的评审会议后&#xff0c;团队需要进行一次回顾会议&#xff0c;以下我将把会议主要内…