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