ImageVerifierCode 换一换
格式:DOC , 页数:34 ,大小:79.50KB ,
资源ID:3543440      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3543440.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(匈牙利规则(写程序代码规则).doc)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

匈牙利规则(写程序代码规则).doc

1、匈牙利规则(写程序代码规则)一、程序风格:1、严格采用阶梯层次组织程序代码:各层次缩进的分格采用 VC 的缺省风格,即每层次缩进为 4 格,括号位于下一行。要求相匹配的大括号在同一列,对继行则要求再缩进 4 格。例如:void main().long lI; /循环变量long lSum;/用来记录和float fAvg;/用来求平均值./对数进行累加。for( lI=0;lIclass CcmTVector3dpublic:TYPE x,y,z;、对常量(包括错误的编码)命名,要求常量名用大写,常量名用英文表达其意思。如:#define CM_FILE_NOT_FOUND CMMAKEHR(

2、0X20B) 其中 CM 表示类别。、对 const 的变量要求在变量的命名规则前加入 c_,即:c_+变量命名规则;例如:const char* c_szFileName;2、 函数的命名规范:函数的命名应该尽量用英文表达出函数完成的功能。遵循动宾结构的命名法则,函数名中动词在前,并在命名前加入函数的前缀,函数名的长度不得少于 8 个字母。例如:long cmGetDeviceCount();3、函数参数规范:、 参数名称的命名参照变量命名规范。、 为了提高程序的运行效率,减少参数占用的堆栈,传递大结构的参数,一律采用指针或引用方式传递。、 为了便于其他程序员识别某个指针参数是入口参数还是出

3、口参数,同时便于编译器检查错误,应该在入口参数前加入 const 标志。如:cmCopyString(const char * c_szSource, char * szDest)4、引出函数规范:对于从动态库引出作为二次开发函数公开的函数,为了能与其他函数以及Windows 的函数区分,采用类别前缀+基本命名规则的方法命名。例如:在对动态库中引出的一个图象编辑的函数定义为 imgFunctionname(其中 img 为 image缩写)。现给出三种库的命名前缀:、 对通用函数库,采用 cm 为前缀。、 对三维函数库,采用 vr 为前缀。、 对图象函数库,采用 img 为前缀。对宏定义,结果

4、代码用同样的前缀。5、文件名(包括动态库、组件、控件、工程文件等)的命名规范:文件名的命名要求表达出文件的内容,要求文件名的长度不得少于 5 个字母,严禁使用象 file1,myfile 之类的文件名。三、注释规范:1、函数头的注释对于函数,应该从“功能”,“参数”,“返回值”、“主要思路”、“调用方法”、“日期”六个方面用如下格式注释:/程序说明开始/=/ 功能: 从一个 String 中删除另一个 String。/ 参数: strByDelete,strToDelete/ (入口) strByDelete: 被删除的字符串(原来的字符串)/ (出口) strToDelete: 要从上个字符

5、串中删除的字符串。/ 返回: 找到并删除返回 1,否则返回 0。(对返回值有错误编码的要/ 求列出错误编码)。/ 主要思路:本算法主要采用循环比较的方法来从 strByDelete 中找到/ 与 strToDelete 相匹配的字符串,对多匹配 strByDelete/ 中有多个 strToDelete 子串)的情况没有处理。请参阅:/ 书名./ 调用方法:./ 日期:起始日期,如:2000/8/21.9:40-2000/8/23.21:45/=/函数名()/程序说明结束、 对于某些函数,其部分参数为传入值,而部分参数为传出值,所以对参数要详细说明该参数是入口参数,还是出口参数,对于某些意义不

6、明确的参数还要做详细说明(例如:以角度作为参数时,要说明该角度参数是以弧度(PI),还是以度为单位),对既是入口又是出口的变量应该在入口和出口处同时标明。等等。、 函数的注释应该放置在函数的头文件中,在实现文件中的该函数的实现部分应该同时放置该注释。、 在注释中应该详细说明函数的主要实现思路、特别要注明自己的一些想法,如果有必要则应该写明对想法产生的来由。对一些模仿的函数应该注释上函数的出处。、 在注释中详细注明函数的适当调用方法,对于返回值的处理方法等。在注释中要强调调用时的危险方面,可能出错的地方。、 对日期的注释要求记录从开始写函数到结束函数的测试之间的日期。、 对函数注释开始到函数命名

7、之间应该有一组用来标识的特殊字符串。如果算法比较复杂,或算法中的变量定义与位置有关,则要求对变量的定义进行图解。对难以理解的算法能图解尽量图解。2、变量的注释:对于变量的注释紧跟在变量的后面说明变量的作用。原则上对于每个变量应该注释,但对于意义非常明显的变量,如:i,j 等循环变量可以不注释。例如: long lLineCount /线的根数。3、文件的注释:文件应该在文件开头加入以下注释:/ 工程: 文件所在的项目名。/ 作者:*,修改者:*/ 描述:说明文件的功能。/ 主要函数:/ 版本: 说明文件的版本,完成日期。/ 修改: 说明对文件的修改内容、修改原因以及修改日期。/ 参考文献: .

8、/为了头文件被重复包含要求对头文件进行定义如下:#ifndef _FILENAME_H_#define _FILENAME_H_其中 FILENAME 为头文件的名字。4、其他注释:在函数内我们不需要注释每一行语句。但必须在各功能模块的每一主要部分之前添加块注释,注释每一组语句,在循环、流程的各分支等,尽可能多加以注释。其中的循环、条件、选择等位置必须注释。对于前后顺序不能颠倒的情况,建议在注释中增加序号。例如:./1、.注释for (.)if(.)/.注释else/.注释/.注释switch(.)case: ./ .注释. case: ./ .注释.default: /.注释.在其他顺序执行

9、的程序中,每隔 3-5 行语句,必须加一个注释,注明这一段语句所组成的小模块的作用。对于自己的一些比较独特的思想要求在注释中标明。四、程序健壮性:1、函数的返回值规范:对于函数的返回位置,尽量保持单一性,即一个函数尽量做到只有一个返回位置。(单入口单出口)。要求大家统一函数的返回值,所有的函数的返回值都将以编码的方式返回。例如编码定义如下:#define CM_POINT_IS_NULL CMMAKEHR(0X200):建议函数实现如下:long 函数名(参数,)long lResult; /保持错误号lResult=CM_OK;/如果参数有错误则返回错误号if(参数=NULL)lResult

10、=CM_POINT_IS_NULL;goto END;END:return lResult;2、关于 goto 的应用:对 goto 语句的应用,我们要求尽量少用 goto 语句。对一定要用的地方要求只能向后转移。3、资源变量的处理(资源变量是指消耗系统资源的变量):对资源变量一定赋初值。分配的资源在用完后必须马上释放,并重新赋值。例:long * plAllocMem;/定义一个分配内存的变量。plAllocMem=(long*)calloc(40, sizeof( long );/分配一段内存。/处理分配内存错误if(plAllocMem=NULL)lResult=CM_MEM_ALLOC

11、_FAILED;goto END;使用内存/释放资源变量,并重新赋值。if(pAllocMem!=NULL)free(plAllocMem);pAllocMem=NULL;4、对复杂的条件判断,为了程序的可读性,应该尽量使用括号。例:if(szFileName!=NULL)&(lCount=0)|(bIsReaded=TRUE)五、可移植性:1、高质量的代码要求能够跨平台,所以我们的代码应该考虑到对不同的平台的支持,特别是对 windows98 和 windowsnt 的支持。2、由于 C 语言的移植性比较好,所以对算法函数要求用 C 代码,不能用 C+代码。3、对不同的硬件与软件的函数要做不同的处理。五、错误处理:1、错误报告处理。编程中要求考虑函数的各种执行情况,尽可能处理所有的流程情况。将函数分为两类:一类为与屏幕的显示无关,(不与用户交换信息的函数)一类为与屏幕的显示相关。(与用户交换信息的函数)对于与屏幕显示无关的函数,函数通过返回值来报告错误。对于与屏幕显示有关的函数,函数要负责向用户发出警告,并进行错误处理。错误处理代码一般单独建立通用处理函数。如下:void cmDeal_With_Error(long ErrCode)

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。