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

编码规范 C++代码检查单.xls

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
检查清单 C++代码检查单 版本管理及模块说明 _Toc143418438 _Toc143418439 _Toc143418440 _Toc143418442 _Toc143418443 对strcat等的应用是安全的?(或者禁止使用) 当类成员含有指针成员变量的时候,如果其可能作为参数传递,必须编写其拷贝构造函数。 对类的定义进行检查,包括:类名,类的属性( 应该尽量为私有),类的方法(公有或私有) 构造函数含有单个参数的时候,必须使用explicit声明 消息队列创建的时候是否考虑到峰值时的容量。 当类成员含有指针成员变量的时候,如果其可能作为参数传递,必须编写其拷贝构造函数。 李硕 问题分类 重要性 审查项 不满足项列表 头文件名称是否合理 头文件和定义文件的目录是否合理 版权声明是否完整 头文件中是否只存放了声明,而未存放定义 重要 重要 {及}是否各占一行,并对齐 头文件是否使用了ifndef/define/endif预处理块 一行代码是否只做一件事 定义参数时是否将*及紧靠变量名 注释是否有错误或导致错误 是否用括号清楚表示操作顺序 循环过大,是否已经将逻辑判断移出 明确写出switch的default分支 case语句结尾是否已经加上break 用const代替宏变量 变量是否已经在定义的同时初始化(特别是指针和BOOL) 函数是否已经有文档注释(功能、输入、返回及其他可选) 单个函数是否执行了单个功能并与其命名相符 入口数据是否都进行了恰当的const保护 入口指针是否都被进行了非空检查 入口数据是否都进行了范围检查 函数对错误的if/assert区分对待是恰当的 函数的调用前,对函数的用法和主要参数进行详细说明 has/can/is前缀的函数是否返回布尔型 是否函数的所有分支都有返回值 bool/BOOL的返回值是合理的(false为失败,非false为成功) int的返回值是否合理 是否避免了返回局部变量地址的情况 对于反复进行了int返回值判断是否定义了函数来处理 对函数返回值进行了判断 参数是否书写完整 参数命名、顺序是否合理 参数个数是否过多(不超过5个) 不使用类型和数目不确定的参数 用new或malloc申请内存后,是否立即检查指针指是否为NULL 为数组及动态内存复初值 数组或指针是否越界 动态内存的申请与释放是否配对 是否有效的处理内存耗尽 指针变量是否初始化 释放内存后是否置为NULL 在创建与释放动态内存对象数组的时候,new与delete语句是否准确无误 复杂的分支流程是否已经被注释 复合语句里有没有与外部重名的局部变量 距离较远的}是否已经被注释 指针释放时,是否在每一个分支都进行了处理,包括可能走入的异常分支 重载函数是否具有二义性 是否混淆成员函数的重载、覆盖与隐藏 是否滥用内联函数(内联函数不宜过长) 是否用内联函数取代了宏代码 程序中是否尽量避免了全局变量 只在本文件中使用的全局变量是否被声明为static 每行是否只声明了一个变量(特别是那些可能出错的类型) 非通用变量是否全部被注释 单个变量是否只做单个用途 是否变量在定义后立刻初始化了 变量初始化的值是恰当的 变量值是否会溢出 如果常量中有依赖关系,是否在定义时包含了这种关系 特殊用法是否被注释 注释是否清晰、正确且必要 命名规则是否与所采用的规范保持一致 是否遵循了最小长度最多信息原则 全局变量是否加了前缀 指针变量是否加了前缀 是否消除了死循环 构造函数中是否遗漏了某些初始化工作 是否正确使用了函数初始化列表 析构函数中是否遗漏了某些清除工作 赋值函数步骤:1.检查自赋值2.释放内存资源3.分配新的内存资源,并复制内容4.返回*this 不要遗漏重要步骤 一般,提倡使用stl-string来代替char*等字符串应用 文件以正确的方式打开吗 文件结束判断正确吗 正确关闭文件 局部变量的定义是否会导致溢出 在线程中是否使用了非线程安全的函数和调用 是否对不存在或者错误的文件进行操作 线程堆栈大小是否已考虑 线程用法是否符合常规 是否做了同步互斥,是否存在死锁 是否使用了诸如gethostname等非线程安全的函数 常数变量是否声明为const 使用指针时,类型是否正确 V1.00 编号 日期 版本 负责人 修订内容 V1.00 李硕 创建此文档 C++代码检查单版本管理 产品名称 INMSV3.0 模块名称 LAS 软件版本 走查时间 走查人员 开发人员 检查结果统计 所列项 检查结果 所占比例 否 未查 总数 总体分类 编号 1.语句及结构的清晰性 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.2.1 1.2.3 1.2.4 1.2

文档评论(0)

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

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

1亿VIP精品文档

相关文档