欢迎来到天天文库
浏览记录
ID:44266548
大小:62.21 KB
页数:6页
时间:2019-10-20
《VC编程规范文档》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、VisualC++编程规范刖弓为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范。范围本标准规定了程序设计人员进行程序设计时必须遵循的规范。本规范主要针对VisualC++编程语言,包括排版、注释、命名、变量使用、程序效率等内容。1.基本要求1.1程序结构清析,单个函数的程序行数原则上不得超过200行。1.2尽量使用标准库函数和公共函数。1.3不要随意定义全局变量,尽量使用局部变量。1.4表达式要注意使用括号以避免二义性。2.可读性要求2.1保持注释与代码完全一致。2.2每个源程序文件,都有文
2、件头说明,说明规格见7•注释。2.3每个函数,都有函数头说明,说明规格见7•注释。2.4主要变量(结构、联合、类或对象)定义或引用时,注释能反映其含义。2.5常量定义(DEFINE)有相应说明。2.6处理过程的每个阶段都有相关注释说明。2.7在典型算法前都有注释。2.8利用缩进来显示程序的逻辑结构,缩进量一致并以Tab键为单位,定义Tab为6个字节。2.9循环、分支层次不要超过五层。2.10注释可以与语句在同一行,也可以在上行。2.11空行和空白字符也是一种特殊注释。2.12简单的语句不加注释。2.13注释的作用范
3、围可以为:定义、引用、条件分支以及一段代码。1.结构化要求3.1禁止出现两条等价的支路。3.2禁止GOTO语句。3.3用IF语句來强调只执行两组语句屮的一组。禁止ELSEGOTO和ELSERETURNo3.4用CASE实现多路分支。3.5避免从循环引出多个出口。3.6函数只有一个岀口。3.7不使用条件赋值语句。3.8避免不必要的分支。2.正确性与容错性要求4.1改正错误前首先考虑对其它代码的影响,避免产生新的错误。4.2所有变量在调用前必须被初始化。4.3对所有的用户输入,必须进行合法性检查。4.4不要比较浮点数的
4、相等,如I:10.0*0.1二二1.0,4.5进行除法运算前应判断分母不为0.4.6程序与环境或状态发生关系时,必须主动去处理发生的意外事件,如文件能否逻辑锁定、打印机是否联机等。3.可重用性要求5.1重复使用的完成相对独立功能的算法或代码应抽象为公共控件或类。5.2公共控件或类应减少外界联系,考虑独立性或封装性。5.3公共控件或类应建立使用模板。4.命名要求6.1变量命名命名必须具有一定的实际意义,形式为xAbcFgh,x表示变量类型,一般为单个字符,Abc、Fgh表示连续意义字符串,一般不少于3个字符,如果连续
5、意义字符串仅两个,则都大写。如0K。示例如下:类型charTCIIARBOOLintUINTWORDLONGDWORD*LPSTRLPCSTRLPCTSTRhandlecallback前缀chchbnnw1dwPlpszlpszlpszhlpfn实例chGradechNamcbEnablenLengthnHeightwPoslOffsetdwRangepDocIpszName1pszNameIpszNamehWndm_与界面相关联的类成员变量m_nVal,m_bFlagg_全局变量g_nMsg,g_bFlcigi,
6、般用于循环变量,其中i,m用于行,j,n用于列。6.2常量命名和宏定义常量和宏定义必须具有一定的实际意义;常量和宏定义在Winclude和函数定义之间;常量和宏定义必须全部以人写字母来撰写,中间可根据意义的连续性用下划线连接,每一条定义的右侧必须有一简单的注释,说明其作用;资源名字定义格式:前缀符号类型IDR_不同类型的多个资源共享标识IDD_对话框资源HIDD_对话框资源的Help上下文IDB_位图资源IDC_光标资源IDI_图标资源ID_來自菜单项或工具栏的命令HID_命令Help上下文IDP_消息框提示HID
7、P_消息框Help±下文IDS_串资源IDC_对话框内的控件6.3函数命名函数原型说明包括引用外來函数及内部函数,外部引用必须在右侧注明函数来源:模块名及文件名,如是内部函数,只要注释其定义文件名;第一个字母必须使用大写字母,要求用大小写字母组合规范函数命名,每个单词不少于3个字母,如单词字母数超过6个,则采用咅标方法截断,截断后字母数不少于3个。示例如下:voidShowChar(intnX,intnY);voidTmportPoint();6.4结构体命名结构体类型命名必须全部用大写字母,原则上前面以下划线开始
8、;结构体变量命名必须用大小写字母组合,第一个字母必须使用大写字母,必要时可用下划线间隔。对于私有数据区,必须注明其所属的进程。全局数据定义只需注意其用途。示例如下:typedcfstructcharszProductName[20];charszAuthor[20];charszRclcascDatc[16];unsignedlongMaxTables;un
此文档下载收益归作者所有