- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计代码规范
C++语言程序设计代码规范
命名规范
本规范对变量、函数、类(结构)等的名称有严格的规定,在编码过程中务必遵守。
变量命名规范
变量名称采用匈牙利命名法,即:完整的名称由“缀”和“主体”复合而成。“缀”用于指示变量的种类、数值类型、作用域等属性,由小写字符和下划线(_)组成,根据其附着在“主体”的位置分为前缀和后缀两种。“主体”表示变量的语义。
整个变量名称的格式如下:
作用域前缀[指针缀]类型缀主体作用域后缀
下面详细论述。
作用域缀(前缀和后缀)
作用域前缀处在整个变量名的最前面。常用的作用域前缀为:
g_ 表明这是一个全局变量。 m_ 表明这是一个类成员变量。 s_ 表明这是一个静态(static)变量。 _(前缀) 表明这是一个局部变量。参看后面详细解释。 _(后缀) 表明这是一个参数变量。参看后面详细解释。
作用域后缀处在整个变量名的最后面。只有一种情况使用作用域后缀,就是函数的形参必须以作用域后缀结束。
指针缀
如果一个变量是指针,则必须使用指针缀。指针缀使用字母p表示。
以前,在DOS平台下有短指针和长指针的区别,有时称长指针为lp。在Win32平台下已经不存在这个区别了,所以统一使用p, 而不是lp。
类型缀
类型缀由小写字符构成,用于描述变量的类型。注意:
不要私自创造出各种各样的前缀。
也没有必要在前缀中仔细区分一些细小的类型区别,那样会给代码维护工作带来额外的麻烦。
常用的类型前缀为:
n 用于一般情况下的各种整数、浮点数、枚举类型,包括:(unsigned) int, (unsigned) long, 和一些派生类型:UINT, ULONG,WORD,DWORD等。 b bool 类型 p 表示指针,在Win32平台下使用p, 而不是lp。 h Windows API内部的各种HANDLE。 sz char 或者 char_w类型的数组或者字符串常量。 wnd Windows窗口,所有MFC窗口对象都以wnd缀开头。包括:CView,CDialog,CFrameWnd,CButton等。 pt POINT, CPoint clr COLORREF,其它用来表示颜色的数值类型 dc CDC类 pen CPen brush CBrush vector std::vector list std::list, CList map std::map, CMap array CArray it std::iterator c, w, dw 用于要求明确区分数据类型长度的情况下,如跨平台的网络通讯,或磁盘读取。注意,尽量使用n作为前缀,而不是这些字符前缀。
对于其他不在上面表中的结构、类等复杂数据类型,特别是不常使用的和不通用的,不使用前缀。例如:
class Person Jonson;
struct DateTime MyDt;
在应用场合明确的情况下,例如:简单的局部变量,它的值类型前缀有时可以省略。具体见下面的例子。
复合前缀
根据以上规则,变量根据它所在的作用域、类型、是否是指针,得到一个复合前缀。例如:
char g_szFileName[_MAX_PATH]; //全局字符串变量
char* g_pszFileName; //全局字符串指针变量:
char s_szFileName[_MAX_PATH]; //静态字符串变量
char* s_pszFileName; //静态字符串指针变量:
char _s_szFileName[_MAX_PATH]; //局部静态字符串变量
char* _s_pszFileName; //局部静态字符串指针变量:
char m_szFileName[_MAX_PATH]; //类字符串变量
char* m_pszFileName; //类字符串指针变量:
char ms_szFileName[_MAX_PATH]; //类静态字符串变量
char* ms_pszFileName; //类静态字符串指针变量:
更多的例子,参见下面按照作用域讨论变量名一节。
主体
用于描述变量的上下文意义。
一般地,由首字母大写的一个或者多个单词构成,要求用英语作为描述语言。如:FileName,DateTime。这样就形成了由大小字母夹杂的单词串,这种写法常见于Windows风格的编码。
注:全部单词小写,单词之间使用下划线分割,例如:file_name,date_time。这种写法常见于UNIX风格的编码。但是这种命名方式就不能很好地区分缀和主体,所以在本规范中是不推荐的。
单个的变量声明使用单数形式,不加任何冠词。例如:
CFile _file;
数组使用名词复数形式。
您可能关注的文档
- 江西省兴国县将军中学2013-2014学年高一下学期期中考试 化学(无答案).doc
- 江西省兴国县将军中学2013-2014学年高一下学期期中考试 地理(无答案).doc
- 江西省兴国县将军中学2013-2014学年高一下学期期中考试 政治(无答案).doc
- 江西省兴国县将军中学2013-2014学年高一下学期期中考试 历史(无答案).doc
- 江西省兴国县将军中学2013-2014学年高一下学期期中考试 数学(兴国班,无答案).doc
- 江西省兴国县将军中学2013-2014学年高一下学期期中考试 数学(文)(无答案).doc
- 江西省兴国县将军中学2013-2014学年高一下学期期中考试 数学(理)(无答案).doc
- 江西省兴国县将军中学2013-2014学年高一下学期期中考试 物理(兴国班,无答案).doc
- 江西省兴国县将军中学2013-2014学年高一下学期期中考试 物理(无答案).doc
- 江西省兴国县将军中学2013-2014学年高一下学期期中考试 英语(兴国班,无答案).doc
文档评论(0)