FB Code review checklist.xlsVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FB Code review checklist.xls

Java代码评审检查表 C++评审检查表 代码评审一般检查表 是 否 算法操作 不适用 备注 结构 存储空间是否被有效利用? 数字和字符串常量是否用符号代替? 注释是否与代码协调一致? 所有变量的命名是否清晰,一致并且有意义? 所有被赋值的变量赋值类型是否一致或有类型转换? 是否有冗余或无用的变量? 代码是否避免了对浮点型数值的相等比较操作? 被除数是否做了零值测试和噪音测试? 循环和分支 所有的循环,分支和逻辑构造是否完整,正确并且欠套适当? 在IF-ELSEIF链中,最一般的状况是否最先被考虑到? 所有可能的状况,包含ELSE语句或DEFAULT语句是否都被覆盖到IF--ELSEIF或CASE块中? 每种状况是否都有缺省值? 循环结束的条件是否明显并且总是可以达到? 索引或下标在循环开始前被正确初始化? 在循环中的声明是否能放到循环之外? 代码中的循环是否避免了对索引变量进行操作或依靠索引变量来退出循环? 防御性编程 索引,指针和下标是否经过了数组,记录或文件的边界测试 是否验证了导入的数据或输入的参数的正确性和完整性? 所有的输出变量是否都被赋值? 在每个声明中数据是否被正确操作? 分配的内存空间是否都被释放? 对于外部设备接入是否有超时设计或错误陷阱? 在操作文件时是否判断了文件存在与否? 在程序结束的时候所有的文件和设备是否都保持了正确的状态? Java 代码审查检查表 C++代码评审检查表 文档 性能缺陷 (PE) [可选] 存储器使用缺陷 (SU) 模块性缺陷 (MO) 布局和封包缺陷(LP) 注释缺陷(CM) 计算和数字缺陷(CN) 数据引用缺陷(DR) 类定义缺陷(CD) 函数定义缺陷 (FD) 变量和常量声明缺陷(VC) 存储器使用缺陷(SU) 模块间接口缺陷 计算/数值缺陷(CN) 输入输出缺陷(IO) 流程控制缺陷(CF) 比较/关系缺陷(CR) 方法定义缺陷(FD) 变量,Auribute,和常量声明缺陷(VC) 项目名称 检查日期 对同一个数据进行操作的两个循环是否可以合并成一个? 对于通过指针的引用,当前的引用空间是否被分配给适当的数据? 每个类和函数的潜在行为是否都有用简易的语言进行解释? 是否存在重复的代码,它的功能可以通过调用其它函数实现? 布尔表达式是否通过内部否定操作进行了简化 每个类和方法的潜在行为是否都有用简易的语言进行解释? 方法调用的参数的数量,顺序,类型和值是否与该方法声明一致? 是否所有的case-switch-break对应关系都已更正并加上批注? 其他 问 题 问 题 代码评审检查表 填写人 编号 代码是否正确完整的实现了设计? 代码是否符合相关的编码标准? 代码结构是否适当,风格和格式是否保持一致? 代码中是否有没有被调用的或无用的程序,或没有被执行的代码? 代码中是否还有多余的桩程序或测试代码? 是否存在能被调用外部复用组件或库函数替代的代码? 有没有能被压缩成简单程序的程序块或重复的代码? 是否有过于复杂的模块需要重新构造或拆分成多个程序? 代码是否已被用易于维护的注释方式清晰充分的文档化? 结论: 说 明: 变量 变量和常量的命名是否与约定保持一致? 是否存在容易混淆的相似的变量名? 变量是否书写正确? 变量是否被正确的初始化? 非局部变量是否能用局部变量替换? 是否有文字常量应该被命名为常量? 是否有需要定义为常量的宏? 是否有需要定义为常量的变量? 函数名称是否与命名约定保持一致? 对于每个函数的所有参数,参数传递机制(值传递或引用传递)是否适合? 函数的参数是否被适当的定义为常值? 函数的每个参数在使用之前是否被检查? 对于每个函数,是否返回了正确的返回值? 默认的arguments能否用来代替重载? 函数和操作符重载能否避免? 每个类是否都有正确的构造函数和析构函数? 每一个公共基类是否都有虚析构函数? 每个在构造函数中分配空间的类是否都有复制构造函数? 对于每个类中的所有成员:是否能访问限制权限更高的成员? 每个继承的类是否都有基类中的公共的成员? 类的继承层级能否被简化? 对每个数组引用:每个下标的值是否都在定义的范围内? 对于每一个指针引用,是否应用了正确的Indirection 级别? 是否存在混合数据类型的计算? 在计算中是否会出现上溢或下溢? 对于有多个操作符的表达式,关于计算顺序的假设和过程是否正确? 是否有采用括号来避免模糊不清? = =是否被误用为= 对已每一个布尔变量的测试:正确的条件是否被检查? 是不是存在两个类型不一致的变量的比较? 比较操作符是否正确? 每个布尔表达式是否正确? 比较操作是否存在不引人注意的副作用? 在调用函数时,参数的数量,顺序类型和值是否和被调用函数的声明一致? 度量

文档评论(0)

caijie1982 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档