C_C++变量的规范命名_第1页
C_C++变量的规范命名_第2页
C_C++变量的规范命名_第3页
C_C++变量的规范命名_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档变量的规范命名是为了增强代码的可读性和容易维护性。C+程序变量命名只有几条必须遵守的“死规则”,这些规则如下: 1变量名只能是字母(A-Z,a-z)、数字(0-9)或下划线。2第一个字母不能是数字,例如2Lerver这不是一个合法的C+变量。3不能是c+关键字,例如不能用class这个单词来命名一个变量。4区分大小写,例如iA和ia是两个不同的变量。理论上,在遵守了上面几条规则的前提下,所声明的变量名称都是合法的。比如下面的命名:char xueshengming20; /学生名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的前缀double dValue; /d为double的前缀3.字符型的前缀char cChar; /c为char的前缀/个人喜欢用a做前缀TCHAR tcChar /多字节字符和Unicode字符兼容类型的前缀tcwchar_t wcChar /宽字符前缀wc4.字符串的前缀char szName30; /sz为C语言字符串的前缀string strName; /str为C+字符串变量的前缀CString strInfo; /str为MFC字符串变量的前缀5.布尔型的前缀bool bPass; /b为bool的前缀6.指针型的前缀int *pValue; /p为指针的前缀说明:由于指针是指向一定数据类型的变量,因此p后面要不要再加一个前缀一直让我举棋不定。如果再加上前缀比如: int * piKey; char * pszInfo;这样似乎意义更完整,但势必会增加变量的字符长度。因此,这里就不硬性规定了。但是,指针变量以p开头应该是雷也打不动的。7.数组的前缀int arrNum10; /arr为数组的前缀说明:和指针变量一样,arr后是否再加数组元素的数据类型前缀取决于你自己。string arrstrName3; /C+字符串数组,加上去似乎很别扭8.枚举变量的前缀enum emWeek; /em为枚举变量的前缀9.结构变量的前缀:tT_NODE tNode; /结构名称以T_开头10.字节变量的前缀:byBYTE byInfo;11.字变量的前缀DWORD dwInfo; /双字WORD wInfo; /单字12.字符指针的前缀LPCTSTR ptszInfo; /ptsz表示前缀,t表示TCHAR类型LPCSTR pszInfo;LPSTR pszInfo;13.STL容器类型前缀vector vecValue; 说明:vec表示vector容器的前缀,为了简化变量,变量体后面不再使用前缀list lstInfo;14.MFC绑定控件变量的前缀CEdit m_ctlName; /对象变量,变量体前统一用ctl表示/个人喜欢用m_ctrlint m_iAge; /值变量,变量体有表示值数据类型的前缀说明:由于长短指针在32位操作系统后已无区别,所以不再区分,一律以p开头,这也与指针变量以p开头的原则贴得更近。15.矩形结构的前缀:rcRECT rcClient; CRect rcWin;16.句柄对象一律以h开头HWND hWndName;HBRUSH hBr;HPEN hPen;HBITMAP hBmpBack;17.windows颜色类型的前缀:crCOLORREF crFront; 18.windows中DC(设备上下文)类型的前缀CClientDC dcClient;三、类的成员变量以m_开头,后面为变量体,变量体依然要有前缀。int m_iDepth;四、定义一个变量,为了简化,在不影响变量意义的情况下,可以仅仅使用前缀。RECT rc;五、全局变量一律以g_开头,后面为变量体,变量体依然要有前缀。int g_iNums;六、定义结构体为了保证和C语言和C+的写法兼容性,一律采用typedef语句。typedef struct tagINFO_NODEint iData;tagINFO_NODE *pNext;T_INFO_NODE, *PT_INFO_NODE;七、变量体如果是多个单词,每个单词的首字母大写。int iStudentAge;八、在意义明确的情况下可以仅仅使用首字母命名变量可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论