1 / 14
文档名称:

VC 编程规范.doc

格式:doc   大小:93KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

VC 编程规范.doc

上传人:bodkd 2019/1/16 文件大小:93 KB

下载得到文件列表

VC 编程规范.doc

相关文档

文档介绍

文档介绍:VC++编程规范编写编程规范的目的安全:增加代码的正确性和稳定性,使它稳定可遵守编程规范可以大幅度减少各种易犯的错误和隐患。 易读:保证代码的易读性和可维护性美观:尽量统一项目组内人员的编程风格便于代码调试和错误定位在编码时就注意留下跟踪的线索会使错误定位和修改更加容易。编程规范的作用范围只要能写出高质量的程序,并不强求所有程序都必须完全遵循本编码规范。原则上:外来的代码,只要测试正确,代码复查没有问题,程序文档齐全,可以有自己的规范和风格过去的程序,原则上不为了适合本规范而专门改写程序。但是如果方便,也可以顺手做一些修改,如加一些注释。这个规范主要针对本开发组新开发的,用VC++编写的界面或业务逻辑模块的编写。某些模块如果有自己的编程风格,请制订相应的文档加以说明。命名规则包括如下C++要素的命名:类、结构、函数、变量、常量(包括资源、自定义消息)、宏、自定义类型等命名的主要原则是:使用有意义的单词或多个词组合,一目了然。不要使用人名、项目组名命名时请考虑名字的唯一性,不要使用容易引起混淆的名称。长短要合适。多个词组合较长时,可以使用单词的缩写主要采用Windows的命名风格对于类、函数和变量,每个单词的首字符大写,其余小写常量和宏定义全部大写自己定义的类型(使用了typedef)全部大写,,,,lass等等没有意义的名字。临时使用的文件的名字要用函数生成,避免使用“硬名字”,。不能使用程序员的姓名或缩写来命名,。类的命名以大写的C开头,采用如下格式:CXXXYYYYY其中XXX指的是模块名称的缩写,参见附录2。YYYYY是类本身的名称例如: CAdmDlgSearchID结构/自定义类型结构/联合命名使用typedef后必须全部大写,单词中间可以使用下划线连接。如果不使用typedef,则在全部大写的名字前加st。结构变量的命名应尽量使用该结构的缩写前缀。前缀使用两个以上的小写字母。自己定义的类型(使用了typedef)全部大写,指针使用LP大写前缀函数使用动宾词组表达函数实际所作的事同名的函数(重载函数)在功能上应该完全相同,(),CreatePage2()等变量变量命名原则上使用匈牙利命名法,一般由“前缀+类型修饰+主体”等部分组成,如:g_strRegHome前缀(以下划线分割)g_:表示全局变量(包含全局静态变量)如:g_lpEnvt_:表示线程的全局变量:如:int__declspec(thread)t_nCountm_:表示类成员变量(包含类静态变量)如:m_dwFlagsg_str:表示全局的字符串常量如:constTCHARg_strRegHome[]=_T(“Software\\Founder\\FounderAuthorTool\\”);类型修饰(小写字母),参见附录1。主体使用一个或多个单词表示变量代表的确切含义,参见下面的大小写规则窗口菜单句柄等命名:hWndxxxx,hMenuxxxx常量(包括资源、自定义消息,枚举,宏等)宏定义和常量全要用大写自定义的消息WM_A_资源ID的命名:参见附录2:资源ID的命名。枚举类型:命名方式类似结构,相应的前缀为enum。枚举值的命名一律大写(等同于宏)。枚举变量的命名按整数命名。内部的限制量,如列表的最大长度,文件名的最大长度等,统一使用MAX_xxxx_xxxx_LEN来命名,并集中放置在一个头文件中。数据库相关的限制值放在另一个头文件中定义。编程规则类对自己定义的复杂类一定提供构造和析构函数,析构函数前一律加virtual,防止因继承而产生的memoryleak。(有两种特殊情况:。???)在构造函数中初始化所有的成员变量,在析构函数中删除可能申请的内存空间。推荐采用公开的Get/Set函数对成员变量进行存储,而把成员变量设成protected或者private,并加上注释。声明成员函数和变量时要按功能分组,给外部用的要排在前面类的继承深度不要超过4层类的功能要单一,公共函数个数一般要小于20个(专门用于保存数据的类除外)内部protected函数以及private函数个数一般应小于20个函数长度一般禁止超过200行必须检查输入值是否合法实现(成员)函数功能之前必须使用ASSERT()对输入参数的合法性进行检查,尤其你定义的(成员)函数给别人调用时,要判断其合法性。函数返回值。函数有返回值的时候,一般需要对返回值进行判断,除非有充分的理由确认一定能执行成功。根据返回值的结果决定后续的操作。特