文档库 最新最全的文档下载
当前位置:文档库 › 12、代码缺陷检查表示例

12、代码缺陷检查表示例

12、代码缺陷检查表示例
12、代码缺陷检查表示例

C/C++代码缺陷检查表 代码缺陷检查表示例
§ § § § § § § § § 文件结构 程序的版式 命名规则 表达式与基本语句 常量 函数设计 内存管理 C++ 函数的高级特性 类的构造函数、析构函 数和赋值函数 § 类的高级特性 § 其它常见问题
文件结构
§ § § § § § 头文件和定义文件的名称 头文件和定义文件的目录结构 版权和版本声明 预处理块 头文件中只存放“声明”而不存放“定义” ……
#ifndef GRAPHICS_H #define GRAPHICS_H #include … #include “myheader.h” … void Function1(…); … class Box { … }; #endif
// 防止graphics.h被重复引用
// 引用标准库的头文件 // 引用非标准库的头文件 // 全局函数声明 // 类结构声明
程序的版式
§ § § § 空行 代码行内的空格 长行拆分 “{” 和 “}” 的使用
if (year >= 2000) if(year>=2000) if ((a >= b) && (c <= d)) if(a>=b&&c<=d) for (i = 0; i < 10; i++) for(i=0;i<10;i++)
// 良好的风格 // 不良的风格 // 良好的风格 // 不良的风格 // 良好的风格 // 不良的风格
§ 一行代码是否只做一件事 § if、for、while、do等语句自占一行,不 论执行语句多少都要加“{}”。
int width, height, depth; // 宽度高度深度 X = a + b; y = c + d; z = e + f;
?1 PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.wendangku.net/doc/d814512490.html,

程序的版式
§ § § § § 修饰符 * 和 & 注释是否清晰并且必要? 注释是否有错误或者可能导致误解? 类结构的public, protected, private顺序 ……
§ § § § § § §
命名规则
命名规则风格保持一致 标识符的名称 标识符的长度 程序中是否出现相同的局部变量和全部变量? 类名、函数名、变量和参数、常量的书写格式 静态变量、全局变量、类的成员变量的前缀 ……
int x, X; // 变量x 与 X 容易混淆 void foo(int x); // 函数foo 与FOO容易混淆 void FOO(float x); static int s_initValue; // 静态变量 int g_howManyPeople; // 全局变量 void Object::SetValue(int width, int height) { m_width = width; //数据成员 m_height = height; //数据成员 }
表达式与基本语句
§ 运算符的优先级 § 复合表达式 § 复合表达式是否与“真正的数学表达式”混 淆 § 变量比较
与零比较
§ § § § 布尔变量 整型变量 浮点变量 指针变量 § § § §
表达式与基本语句
循环语句的效率 Case语句结尾的break switch的default分支 使用goto 语句时是否留下隐患? 例如跳 过了某些对象的构造、变量的初始化、 重要的计算等。 § ……
?2 PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.wendangku.net/doc/d814512490.html,

常量
§ § § § § 常量的使用 在C++ 程序中const常量的使用 常量间的关系 类中的const数据成员 …… § § § § § §
函数设计
参数的完整性 参数命名、顺序的合理性 参数的个数 是否使用类型和数目不确定的参数? 是否省略了函数返回值的类型? 函数名字与返回值类型在语义上是否冲 突? § 正常值和错误标志的返回
§ 在函数体的“入口处” 检查 § 使用滥用了assert § return语句是否返回指向“栈内存”的“指针” 或者“引用”? § 是否使用const提高函数的健壮性? § ……
char * Func(void) { char str[] = “hello world”; … return str; }
内存管理
§ 用malloc或new申请内存之后,是否立即 检查指针值是否为NULL? § 是否忘记为数组和动态内存赋初值? § 数组或指针的下标是否越界? § 动态内存的申请与释放是否配对? § 数组与指针的区别 § 处理“内存耗尽”问题
char a[] = “hello”; a[0] = ‘X’; cout << a << endl; char *p = “world”; p[0] = ‘X’; cout << p << endl;
?3 PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.wendangku.net/doc/d814512490.html,

// 数组… char a[] = "hello"; char b[10]; b = a; if (b == a); // 指针… int len = strlen(a); char *p = (char *)malloc(sizeof(char)*(len+1)); p = a; if (p == a);
§ 是否出现野指针 § 是否将malloc/free 和 new/delete 混淆使 用? § malloc语句是否正确无误? § 在创建与释放动态对象数组时, new/delete的语句是否正确无误? § ……
C++ 函数的高级特性
§ 重载函数是否有二义性? § 是否混淆了成员函数的重载、覆盖与隐 藏? § 运算符的重载是否符合制定的编程规范? § 是否滥用内联函数? § 是否用内联函数取代了宏代码? § ……
类的构造函数、析构函数和赋值函数
§ 是否违背编程规范而让C++ 编译器自动为类产 生四个缺省的函数:(1)缺省的无参数构造 函数;(2)缺省的拷贝构造函数;(3)缺省 的析构函数;(4)缺省的赋值函数。 § § § § 构造函数中是否遗漏了某些初始化工作? 是否正确地使用构造函数的初始化表? 析构函数中是否遗漏了某些清除工作? 是否错写、错用了拷贝构造函数和赋值函数?
§ 是否正确地编写了派生类的构造函数、 析构函数、赋值函数?注意事项: (1)派生类不可能继承基类的构造函数、 析构函数、赋值函数。 (2)派生类的构造函数应在其初始化表里 调用基类的构造函数。 (3)基类与派生类的析构函数应该为虚 (即加virtual关键字)。 (4)在编写派生类的赋值函数时,注意不 要忘记对基类的数据成员重新赋值。 § ……
类的高级特性
§ 是否违背了继承和组合的规则? (1)若在逻辑上B是A的“一种”,并且A的所 有功能和属性对B而言都有意义,则允许 B继承A的功能和属性。 (2)若在逻辑上A是B的“一部分”(a part of),则不允许B从A派生,而是要用A 和其它东西组合出B。 § ……
?4 PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.wendangku.net/doc/d814512490.html,

其它常见问题
§ 数据类型问题: (1)变量的数据类型有错误吗? (2)存在不同数据类型的赋值吗? (3)存在不同数据类型的比较吗? § 变量值问题: (1)变量的初始化或缺省值有错误吗? (2)变量发生上溢或下溢吗? (3)变量的精度够吗?
§ 逻辑判断问题: (1)由于精度原因导致比较无效吗? (2)表达式中的优先级有误吗? (3)逻辑判断结果颠倒吗? § 循环问题: (1)循环终止条件不正确吗? (2)无法正常终止(死循环)吗? (3)错误地修改循环变量吗? (4)存在误差累积吗?
§ 错误处理问题: (1)忘记进行错误处理吗? (2)错误处理程序块一直没有机会被运行? (3)错误处理程序块本身就有毛病吗?如报 告的错误与实际错误不一致,处理方式 不正确等等。 (4)错误处理程序块是“马后炮”吗?如在被 它被调用之前软件已经出错。
§ 文件I/O问题: (1)对不存在的或者错误的文件进行操作吗? (2)文件以不正确的方式打开吗? (3)文件结束判断不正确吗? (4)没有正确地关闭文件吗? § ……
?5 PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.wendangku.net/doc/d814512490.html,

制造过程过程审核检查表.doc

制造过程审核检查表受检查单位: 序号检查内一.人为因素容 受检查过程名称: 检查结果NC S A NS R 1数量满足要求。 2了解生产和质量的目标和指标。 3经过单位培训合格。 4通过资格评定并持有上岗证。 5熟悉工艺要求及操作要领。 6严格执行操作规程。 7熟悉设备保养内容。 8熟悉检测内容及频次。 9熟悉使用检测设备或工具。 10能鉴别产品的缺陷或发现异常。 11按要求进行标识和记录。 二.方法因素 1生产工艺文件为最新版本。 2操作说明能保证工人在操作中不会造成质量问题。 3确定了追溯性原则并遵照执行。 4质量信息传递方式已确定并渠道畅通。 5不合格品的程序已制定并遵照执行。 6周转卡符合要求。 三.设备因素 1工艺卡规定的工装设备齐全。 2设备的编码和标记齐全。 3工装设备进行了规范的调试和检定。 4工具更换的频次已说明并得到遵守。 5设备工具及切削液在使用中不会造成质量问题。 6工装设备损坏产品的危险得到了控制。 7工装设备的预防性维护已制定措施并遵照执行。 8工装设备的故障修复已制定措施并遵照执行。 9防错系统已运行。 10工装、模具维修后经过验证。 四.环境因素 1通道、地面、工位设施的布置符合要求。 2工装设备、零件及材料进行了定置管理。 3不同型号和状态的零部件进行了标识和隔离。 4环境温度、湿度、清洁度、光照度符合要求。 5防止磕碰、划伤及锈蚀的措施有效。 五.材料因素 1上线的材料及辅料经检验和试验合格。 2避免了材料及辅料混漏的可能。

制造过程确认检查表(续) 序号检查内容检查结果NC S A NS R 3对上线的材料、辅料或产品进行标识。 4材料及辅料应在有效期内。 5紧急放行的产品和材料有明显的标识和记录。 六.检测因素 1检查工艺卡或监控计划为有效版本。 2检查记录卡或控制图为有效版本。 检查工艺卡或监控计划已明确特性参数的中间 3 值、公差和控制限。 4首件检查并确认。 5检查工艺卡或监控计划中的检测设备齐全。 6检测设备准确度符合质量特性的检测要求。 7检测设备在校准有效期内。 8检测设备失效时,对检测结果进行了有效性评价。 9按规定的项目和频次检验。 10检查记录和控制图按规定项目和频次得到记录。 11特殊工序的参数得到连续的监控。 12对不合格品进行了追溯。 13记录的不合格品得到了处理。 14工序能力达到了要求。 小计 总计 总平均得分值:Tq=〔( 2×审核项目数-扣分值)/ ( 2×审核项目数)〕× 100% = 结论: 审核员:年月日 审核组长:年月日 批准:年月日 说明: 1.总平均得分值Tq:大于或等于90%为过程控制目标。当低于该目标、审核结果远小于以前的结果或出现趋势下降时。应采取必要的有效措施。 序号符号说明扣分值 1 NC 本工序不适用,可以不查。 2 S 满意,达到要求,合格。0 3 A 可接受,质量风险不大,待改进。 1 4 NS 不满意,不可以接受存在较大的质量风险。 2 5 R 不存在,没有措施,风险大。 3

混凝土生产质量检查表

混凝土生产质量检查表单位名称:

检查组成员签字:检查日期:

混凝土生产质量检查说明 (一)资质管理 1、混凝土生产单位具有相应资质 一、检查内容:企业资质 二、判定原则:无企业资质或资质无效,判定为“不符合” 三、依据:《建筑业企业资质管理规定》第三条建筑业企业应当按照其拥有的注册资本、专业技术人员、技术装备和已完成的建筑工程业绩等条件申请资质,经审查合格,取得建筑业企业资质证书后,方可在资质许可的范围内从事建筑施工活动。 2、混凝土生产企业、分站点的设立是否满足资质管理规定要求 一、检查内容:企业资质 二、判定原则:无企业资质或资质无效,判定为“不符合” 三、依据:《建筑业企业资质管理规定》第三条建筑业企业应当按照其拥有的注册资本、专业技术人员、技术装备和已完成的建筑工程业绩等条件申请资质,经审查合格,取得建筑业企业资质证书后,方可在资质许可的范围内从事建筑施工活动。 (二)原材料管理 3、有混凝土原材料的采购、使用管理制度 一、检查内容:原材料管理制度 二、判定原则:原材料采购、使用管理制度完善,否则判定为“不符

合” 三、依据:《关于加强预拌混凝土质量管理工作的通知》建质[2013]84号预拌混凝土生产企业应建立健全生产管理制度、产品质量保证体系和产品质量跟踪制度 4、采购合同(协议)以书面形式签订并存档,同时建立原材料使用台帐,原材料质量可追溯 一、检查内容:原材料合同及台账 二、判定原则:原材料采购合同管理及使用台账管理合格,否则判定为“不符合” 三、依据:《关于加强预拌混凝土质量管理工作的通知》建质[2013]84号加强原材料进场检验和质量控制,建立完善原材料采购管理制度和原材料使用台账,实现原材料使用的可追溯。 5、有混凝土原材料进场验收记录(包括厂名或地、品牌、规格、数量) 一、检查内容:原材料进场验收记录 二、判定原则:原材料进场验收记录齐全,否则判定为“不符合” 三、依据:《混凝土质量控制标准》GB 50164-2011第6.2条原材料进场 6、对进场的原材料依据相关技术标准的要求进行质量检验,并建立逐一对应的检测试验台账 一、检查内容:原材料检验台账,根据原材料进货量核对试验批次

混凝土现浇结构实测实量检查表--实用.doc

资料收集于网络,如有侵权请联系网站删除只供学习与交流 混凝土现浇结构实测实量检查表 (浙江省建工集团有限责任公司西南公司) 工程名称检查部位实测项目允许偏差 (mm) 1 混凝土柱每层垂直度8 2混凝土表面平整度8 3混凝土截面(柱、梁、墙)+8, -5 4 轴线位置(剪力墙)8( 5) 5 每层楼面标高+10 6 混凝土现浇板厚度+8, -5 7 梁+10, -7 钢筋保护层 +8,-5 板 检查人员: 总测点合格率: 实测数值( mm ) 年月日

项目名称 1垂直度 2砌体表面平整度3砌体灰缝 砌体结构实测实量检查表 (浙江省建工集团有限责任公司西南公司) 检查部位 实测项目允许偏差 (mm)实测数值(mm) 砌体每层垂直度 5 全高垂直度10 砌体、混凝土小型空心砌块8 蒸压加气混凝土砌块 6 清水墙 5 砌砖水平灰缝厚度 10mm ± 2 混凝土小型空心砌块 ± 2 水平灰缝厚度10mm 混凝土小型空心砌块 ± 2 垂直灰缝宽度10mm

水平灰缝平直度混水10m 内10 水平灰缝平直度清水10m 内7 砌体门窗洞口± 5 4 砖砌体门窗洞 ± 5 混凝土小型空心砌块门窗洞口宽度 口 加气混凝土砌块门窗洞口宽度+10, -5 5 轴线位置10 6 楼面层高±15 检查人员: 总测点合格率: 年月日

工程观感质量检查表 (浙江省建工集团有限责任公司西南公司) 项目名称检查部位 序号项目名称观感质量要求抽查质量情况 检查结果 一般(2)差(3) 好(1) 一、混凝土部分 1 露筋、蜂窝、孔洞、夹 无露筋、蜂窝、孔洞、夹渣渣 2 疏松(不密实)、裂缝无疏松(不密实)、裂缝 3 连接部位缺陷构件连接处钢筋、连接件无松动 4 外形缺陷无缺棱掉角、棱角不直、飞边凸肋 5 外表缺陷无表面麻面、掉皮、起砂、沾污等 6 施工缝施工缝无夹渣、裂缝 7 楼梯踏步相邻高低差小于 10mm 二、砌体部分 1 砌体灰缝应横平坚直,厚薄均匀 2 砌筑错缝砌体砌筑应上下错缝 3 砌体接槎墙体临时间断处斜槎长高比应≥ 2/3 4 墙体开槽应做到顺直 5 混砌现象无不同墙体材料混砌现象 6 马牙槎留设符合规范及设计图纸要求 三、钢结构

过程审核检查表-生产制造过程

Notes on completion of the table: Field 1) a. col.2) to col. 6): are completed by the client prior to the audit and submitted to the certification body with the …Readiness Evaluation work sheet“. For every CRP (customer-related process) identified a work sheet has to be created. Field 1) should also include organisational or physical location of the CRP and inform of possible contact persons in the audit. Column 7) and column 8) are filled in by the auditor Column 8) NR = needs research, OFI = opportunity for improvement; nc = minor nonconformity; NC = major nonconformity

Notes on completion of the table: Field 1) a. col.2) to col. 6): are completed by the client prior to the audit and submitted to the certification body with the …Readiness Evaluation work sheet“. For every CRP (customer-related process) identified a work sheet has to be created. Field 1) should also include organisational or physical location of the CRP and inform of possible contact persons in the audit. Column 7) and column 8) are filled in by the auditor Column 8) NR = needs research, OFI = opportunity for improvement; nc = minor nonconformity; NC = major nonconformity

过程审核检查表

过程审核检查表

过程审核检查表 产品名称(产品类型):审核人:审核日期:共5页第1页 相关工序序号检查内容检查记录 流程图相关工序1 人员/素质 1.1 是否对员工委以监控产品质量/过程质量的职责和权限? 1.1.1 检验员是否有停止生产的权力? 1.1.2 操作者是否知道容易发生哪些不合格类型?是否知道 不合格对后序加工装配和顾客造成的影响? 1.1.3 操作者是否受到自检责任的教育?自检内容是否有规 定?操作者是否按规定进行自检? 1.2 是否对员工委以负责生产设备/生产环境的职责和权限? 1.2.1 操作者是否知道自己的清洁范围,工作台、设备、量 检具、工位器具、环境等是否整洁、有序?

1.2.2 是否能对突发的设备故障采取果断措施? 1.3 员工是否适合于完成所交付的任务? 1.3.1 操作者是否有岗位说明书?岗位说明书中对操作者的 岗位职责和任职要求是否做了明确的要求?操作者是 否熟知其内容? 1.3.2 工位是否有操作规程?操作者是否熟知操作规程的内 容?是否严格执行? 1.3.3 操作者是否有上岗证?该工种是否为特殊工种,如果 是则是否取得专业资格证书? 1.3.4 工位是否有安全操作规程?操作者是否受到安全意识 教育?是否按要穿戴劳保用品? 1.4 是否有包括顶岗规定的人员配置计划? 1.4.1 工位是否有人员替代计划?替代人员是否取得了设备 操作资格?是否具备所需的素质条件? 1.4.2 是否实行了一人多机?是否开展了多能工培训?

1.5 是否有效地使用了提高员工工作积极性的方法? 1.5.1 是否设立了质量、出勤率等指标?员工是否清楚?是 否对指标完成情况进行统计? 1.5.2 是否对人、机、料、法、环、测等方面存在的问题进 行改进,以降低成本、提高质量? 1.5.3 是否定期开展对员工的满意度调查,结果如何?是否 有措施改进? 1.5.4 是否有提高员工积极性的激励机制?有无相应的规 定?如何体现?实施效果如何?

相关文档
相关文档 最新文档