网站大量收购独家精品文档,联系QQ:2885784924

C语言中级教程编码审查13.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

C++/C代码审查表;文件结构;程序的版式;在定义变量(或参数)时,是否将修饰符*和&紧靠变量名?

注释是否清晰并且必要?

注释是否有错误或者可能导致误解?

类结构的public,protected,private顺序是否在所有的程序中保持一致? ;命名原则;表达式与基本语句;如果循环体内存在逻辑判断,并且循环次数很大,是否已经将逻辑判断移到循环体的外面?

Case语句的结尾是否忘了加break?

是否忘记写switch的default分支?

使用goto语句时是否留下隐患?例如跳过了某些对象的构造、变量的初始化、重要的计算等。;常量;函数设计;是否将正常值和错误标志混在一起返回?正常值应当用输出参数获得,而错误标志用return语句返回。

在函数体的“入口处”,是否用assert对参数的有效性进行检查?

使用滥用了assert?例如混淆非法情况与错误情况,后者是必然存在的并且是一定要作出处理的。

return语句是否返回指向“栈内存”的“指针”或者“引用”?

是否使用const提高函数的健壮性?const可以强制保护函数的参数、返回值,甚至函数的定义体。“Useconstwheneveryouneed”;内存分配和释放;是否修改“指向常量的指针”的内容?

是否出现野指针?例如

(1)指针变量没有被初始化。

(2)用free或delete释放了内存之后,忘记将指针设置为NULL。

是否将malloc/free和new/delete混淆使用?

malloc语句是否正确无误?例如字节数是否正确?类型转换是否正确?

在创建与释放动态对象数组时,new/delete的语句是否正确无误?;C++函数的高级特性;类的构造、析构和赋值函数;赋值函数一般分四个步骤:(1)检查自赋值;(2)释放原有内存资源;(3)分配新的内存资源,并复制内容;(4)返回*this。是否遗漏了重要步骤?

是否正确地编写了派生类的构造函数、析构函数、赋值函数?注意事项:

(1)派生类不可能继承基类的构造函数、析构函数、赋值函数。

(2)派生类的构造函数应在其初始化表里调用基类的构造函数。

(3)基类与派生类的析构函数应该为虚(即加virtual关键字)。

(4)在编写派生类的赋值函数时,注意不要忘记对基类的数据成员重新赋值。;类的高级特性;其它常见问题;其它??见问题;其它常见问题;其它常见问题

文档评论(0)

yuguanyin2015 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档