- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 人教版(新起点)英语六年级下册教学课件(全册).pptx
- 管理工程系-财税大数据应用专业人才培养方案.pdf VIP
- 食品质量与安全课件.pptx VIP
- 苏教版综合实践活动教案四年级下册.pdf VIP
- 《食品质量安全》课件——1.认识食品质量与安全.pptx VIP
- 广西壮族自治区南宁市2023-2024学年八年级上学期期末地理试题(含答案).pdf VIP
- 广西壮族自治区南宁市2023-2024学年八年级上学期期末地理试题.docx VIP
- 急性气管-支气管炎的临床护理.pptx
- 2024-2025学年北京朝阳区四年级(上)期末英语试卷(含答案).pdf
- 化学反应工程第6章 气-液反应及反应器.pptx
文档评论(0)