版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、代代码码评评审审检检查查表表文件标识: -PR-CODE-CHECKLIST-YYYYMMDD项目名称检查日期文件编号、名称填写人编号问 题是否不适用结结构构1代码是否正确完整的实现了设计?2代码是否符合相关的编码标准?3代码结构是否适当,风格和格式是否保持一致?4代码中是否有没有被调用的或无用的程序,或没有被执行的代码?5代码中是否还有多余的桩程序或测试代码?6是否存在能被调用外部复用组件或库函数替代的代码?7有没有能被压缩成简单程序的程序块或重复的代码?8存储空间是否被有效利用?9数字和字符串常量是否用符号代替?10是否有过于复杂的模块需要重新构造或拆分成多个程序?文文档档1代码是否已被用
2、易于维护的注释方式清晰充分的文档化?2注释是否与代码协调一致?变变量量1所有变量的命名是否清晰,一致并且有意义?2所有被赋值的变量赋值类型是否一致或有类型转换?3是否有冗余或无用的变量?算算法法操操作作1代码是否避免了对浮点型数值的相等比较操作?2被除数是否做了零值测试和噪音测试?循循环环和和分分支支1所有的循环,分支和逻辑构造是否完整,正确并且欠套适当?2在IF-ELSEIF链中,最一般的状况是否最先被考虑到?3所有可能的状况,包含ELSE语句或DEFAULT语句是否都被覆盖到IF-ELSEIF或CASE块中?4每种状况是否都有缺省值?5循环结束的条件是否明显并且总是可以达到?6索引或下标在
3、循环开始前被正确初始化?7在循环中的声明是否能放到循环之外?8代码中的循环是否避免了对索引变量进行操作或依靠索引变量来退出循环?防防御御性性编编程程1索引,指针和下标是否经过了数组,记录或文件的边界测试2是否验证了导入的数据或输入的参数的正确性和完整性?3所有的输出变量是否都被赋值?4在每个声明中数据是否被正确操作?5分配的内存空间是否都被释放?代代码码评评审审检检查查表表文件标识: -PR-CODE-CHECKLIST-YYYYMMDD项目名称检查日期文件编号、名称填写人编号问 题是否不适用通过有条件通过不通过6对于外部设备接入是否有超时设计或错误陷阱?7在操作文件时是否判断了文件存在与否?
4、8在程序结束的时候所有的文件和设备是否都保持了正确的状态?其他结结论论: : 说说 明明: :通过有条件通过不通过BUG数备注代代码码评评审审检检查查表表文件标识: -PR-CODE-CHECKLIST-YYYYMMDD结结构构文文档档变变量量算算法法操操作作循循环环和和分分支支防防御御性性编编程程BUG数备注版本:V1.1结结论论: : C+C+代代码码评评审审检检查查表表文件标识: -PR-CODE-CHECKLIST-YYYYMMDD项目名称检查日期文件编号、名称填写人编号问 题是否变变量量和和常常量量声声明明缺缺陷陷(VC)(VC)1变量和常量的命名是否与约定保持一致?2是否存在容易混
5、淆的相似的变量名?3变量是否书写正确?4变量是否被正确的初始化?5非局部变量是否能用局部变量替换?6是否有文字常量应该被命名为常量?7是否有需要定义为常量的宏?8是否有需要定义为常量的变量?函函数数定定义义缺缺陷陷 (FD)(FD)1函数名称是否与命名约定保持一致?2对于每个函数的所有参数,参数传递机制(值传递或引用传递)是否适合?3函数的参数是否被适当的定义为常值?4函数的每个参数在使用之前是否被检查?5对于每个函数,是否返回了正确的返回值?6默认的arguments能否用来代替重载?7函数和操作符重载能否避免?类类定定义义缺缺陷陷(CD)(CD)1每个类是否都有正确的构造函数和析构函数?2
6、每一个公共基类是否都有虚析构函数?3每个在构造函数中分配空间的类是否都有复制构造函数?4对于每个类中的所有成员:是否能访问限制权限更高的成员?5每个继承的类是否都有基类中的公共的成员?6类的继承层级能否被简化?数数据据引引用用缺缺陷陷(DR)(DR)1对每个数组引用:每个下标的值是否都在定义的范围内?2对于每一个指针引用,是否应用了正确的Indirection 级别?3对于通过指针的引用,当前的引用空间是否被分配给适当的数据?计计算算和和数数字字缺缺陷陷(CN)(CN)1是否存在混合数据类型的计算?2在计算中是否会出现上溢或下溢?3对于有多个操作符的表达式,关于计算顺序的假设和过程是否正确?4
7、是否有采用括号来避免模糊不清?5= =是否被误用为=6对已每一个布尔变量的测试:正确的条件是否被检查?7是不是存在两个类型不一致的变量的比较?8比较操作符是否正确?9每个布尔表达式是否正确?10比较操作是否存在不引人注意的副作用?11在调用函数时,参数的数量,顺序类型和值是否和被调用函数的声明一致?12度量单位是否一致(如:公分 vs. 公尺) ?13引用和值参数使用是否正确?14如果参数通过引用传递,参数的值是否会变?是否被函数正确的改变?注注释释缺缺陷陷(CM)(CM)1每一个函数,类和文件是否都有适当的头注释?2每一个变量和常量的声明是否都有注释?3每个类和函数的潜在行为是否都有用简易的
8、语言进行解释?4函数和类的头注释是否和它们的功能保持一致?5注释和代码是否保持一致?6注释对于理解代码是否有帮助?7代码中的注释是否充分?8代码中的注释是否过多?布布局局和和封封包包缺缺陷陷(LP)(LP)1代码布局格式和缩排标准是否前后一致?2对于每一个函数,它的代码量是否都不超过60行?3对于每一个编译模块,它的代码量是否都不超过600行?模模块块性性缺缺陷陷 (MO)(MO)1模块(函数,类)之间是否具有低偶合性?2每个模块(函数,类)自身是否具有高聚合性?3是否存在重复的代码,它的功能可以通过调用其它函数实现?4库函数和预先定义的类使用是否在适时适地?存存储储器器使使用用缺缺陷陷 (S
9、U)(SU)1静态分配内存是否足够?2动态分配内存是否足够?3动态分配的内存是否都被释放?释放的时间是否正确? 对每个malloc是否都有free操作?对每个new是否都有delete操作?性性能能缺缺陷陷 (PE)(PE) 可可选选 1是否有更好的数据结构和算法可以采用?2测试安排是否合理,使易于通过的且代价低廉的测试优先于代价较高且通过频率较低的测试?3是否可以通过对数值进行一次计算并将结果保存来减少对它重新计算带来的消耗?4每一个计算出并保存了的结果是否都被应用?5计算是否能被移到循环之外?6在循环内是否有不需要的测试?7短循环是否可以取消?8对同一个数据进行操作的两个循环是否可以合并成
10、一个?9使用频率高的变量是否被声明为register型?10较短并且要经常调用的函数是否被声明为inline型?其他结结论论: : 说说 明明: :通过有条件通过不通过不适用 BUG数备注C+C+代代码码评评审审检检查查表表文件标识: -PR-CODE-CHECKLIST-YYYYMMDD变变量量和和常常量量声声明明缺缺陷陷(VC)(VC)函函数数定定义义缺缺陷陷 (FD)(FD)类类定定义义缺缺陷陷(CD)(CD)数数据据引引用用缺缺陷陷(DR)(DR)注注释释缺缺陷陷(CM)(CM)布布局局和和封封包包缺缺陷陷(LP)(LP)模模块块性性缺缺陷陷 (MO)(MO)存存储储器器使使用用缺缺陷
11、陷 (SU)(SU)性性能能缺缺陷陷 (PE)(PE) 可可选选 版本:V1.1结结论论: : JavaJava 代代码码审审查查检检查查表表文件标识: -PR-CODE-CHECKLIST-YYYYMMDD项目名称检查日期文件编号、名称填写人编号问 题是否不适用变变量量,Auribute,Auribute,和和常常量量声声明明缺缺陷陷(VC)(VC)1变量和常量的命名是否与约定保持一致?2是否存在容易混淆的相似的变量和属性名?3变量和属性是否书写正确?4变量和属性是否被正确的初始化?5非局部变量是否能用局部变量替换?6所有的for循环的控制变量是否都在循环顶部被声明?7是否有应该命名为常量的
12、文字常量?8变量和属性是否可以用常量替换?9属性是否可以用本地变量?10所有的属性是否都有正确的访问限制符(private,protected,public)?11是否有静态属性应该是非静态或vice-versa?方方法法定定义义缺缺陷陷(FD)(FD)1方法名的描述方法是否与命名约定一致?2每个方法的参数值在使用之前是否都作了检查?3对于每一个方法,它是否都返回了正确的值?4每种方法是否都有正确的访问限制符(private, protected, public)?5静态方法是否应该为非静态或vice-versa?类类定定义义缺缺陷陷(CD)(CD)1每一个类是否都有正确的构造函数和析构函数?
13、2在子类中是否有应该放到父类中的通用成员?3类的继承层次是否能被简化?数数据据引引用用缺缺陷陷(DR)(DR)1对于每一个数组引用,下标值是否在定义的范围内?2对于对象和数组引用,是否组确定其值应为非空?计计算算/ /数数值值缺缺陷陷(CN)(CN)1是否存在不同类型数据之间的混合计算?2在计算中是否存在上溢或下溢的可能?3关于数值计算的顺序和优先级的假设是否正确?4是否用了括号来避免模糊不清?比比较较/ /关关系系缺缺陷陷(CR)(CR)1对每一个布尔测试,正确条件是否被检查?2比较操作符是否正确?3布尔表达式是否通过内部否定操作进行了简化4每个布尔表达式是否都正确?5比较操作是否存在不引人
14、注意的副作用?6&是否被不小心替换为&? |是否被不小心替换为|?流流程程控控制制缺缺陷陷(CF)(CF)1对于每一个循环:是否选用了最佳的循环结构?2所有的循环是否都能结束?3如果一个循环有多个出口,是否每个出口都有必要并且得到正确处理?4switch声明是否都有default条件?5是否所有的case-switch-break对应关系都已更正并加上批注?6是否named break叙述都跳到正确的地方?7循环和分支的嵌套是否过深?是否正确?8是否有if嵌套可以转换程switch嵌套?9空控制叙述是否都正确,并加上括号及批注?10所有的异常是否都得到了正确的处理11每一个方法
15、在是否都结束?输输入入输输出出缺缺陷陷(IO)(IO)1文件在被使用之前是否都被打开?2输入对象的属性是否与使用的文件一致?3文件在被使用之后是否都被关闭?计计算算/ /数数值值缺缺陷陷(CN)(CN)1文本中是否有拼写和语法上的错误?2所有的I/O异常处理的是否合理?模模块块间间接接口口缺缺陷陷1方法调用的参数的数量,顺序,类型和值是否与该方法声明一致?2度量单位是否一致(如:公分 vs. 公尺)?3如果对象或数组被传递,它们是否改变?是否被调用方法正确改变?注注释释缺缺陷陷(CM)(CM)1每一个方法,类和文件是否都有适当的头注释?2每一个属性,变量和常量的声明是否都有注释?3每个类和方法
16、的潜在行为是否都有用简易的语言进行解释?4方法和类的头注释是否和它们的功能保持一致?5注释和代码是否保持一致?6注释对于理解代码是否有帮助?7代码中的注释是否充分?8代码中的注释是否过多?布布局局和和封封包包缺缺陷陷(LP)(LP)1代码布局格式和缩排标准是否前后一致?2对于每一个方法,它的代码量是否都不超过60行?3对于每一个编译模块,它的代码量是否都不超过600行?模模块块性性缺缺陷陷 (MO)(MO)1模块(方法,类)之间是否具有低偶合性?2每个模块(方法,类)自身是否具有高聚合性?3是否存在重复的代码,它的功能可以通过调用其它方法实现?4Java类库的使用是否适时适地?存存储储器器使使
17、用用缺缺陷陷(SU)(SU)1数组是否足够大?2数组和对象不再使用之后,它们的引用是否被赋为空值?性性能能缺缺陷陷 (PE)(PE) 可可选选 1是否有更好的数据结构和算法可以采用?2测试安排是否合理,使易于通过的且代价低廉的测试优先于代价较高且通过频率较低的测试?3是否可以通过对数值进行一次计算并将结果保存来减少对它重新计算带来的消耗?4每一个计算出并保存了的结果是否都被应用?5计算是否能被移到循环之外?6在循环内是否有不需要的测试?7短循环是否可以取消?8对同一个数据进行操作的两个循环是否可以合并成一个?其他结结论论: : 说说 明明: :通过有条件通过不通过BUG数备注JavaJava 代代码码审审查查检检查查表表文件标识: -PR-CODE-CHECKLIST-YYYYMMDD变变量量,Auribute,Auribute,和和常常量量声声明明缺缺陷陷(VC)(VC)方方法法定定义义缺缺陷陷(FD)(FD)类类定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC TS 23220-2:2024 EN Cards and security devices for personal identification - Building blocks for identity management via mobile devices - Part 2: Data objects and enc
- 淮阴师范学院《数学课件制作》2022-2023学年第一学期期末试卷
- 淮阴师范学院《软件工程综合设计》2022-2023学年期末试卷
- 淮阴师范学院《理论力学》2021-2022学年第一学期期末试卷
- 淮阴师范学院《中学教育科研实务》2023-2024学年第一学期期末试卷
- 淮阴师范学院《刑事诉讼法》2023-2024学年第一学期期末试卷
- 淮阴师范学院《化工基础实验》2023-2024学年第一学期期末试卷
- 淮阴工学院《软件设计模式II》2023-2024学年期末试卷
- 淮阴师范学院《城市给水排水》2023-2024学年第一学期期末试卷
- 淮阴工学院《中国秘书史》2021-2022学年第一学期期末试卷
- 上海中考英语专项练习-动词的时态-练习卷一和参考答案
- GB 4806.7-2023食品安全国家标准食品接触用塑料材料及制品
- 我们的出行方式 (教学设计)2022-2023学年综合实践活动四年级上册 全国通用
- GB/T 16739.2-2023汽车维修业经营业务条件第2部分:汽车综合小修及专项维修业户
- 七年级数学上册《第二章 整式的加减》单元测试卷含答案人教版
- 第三章农业遥感技术与应用课件
- 产品安全技术说明书MSDS
- 合理用药健康教育教学课件
- 中医教材(第五版)
- 比亚迪F0说明书
- 昌江县古榕峰水泥用石灰岩矿矿产资源开发利用与保护方案
评论
0/150
提交评论