软件编程法律规范培训实例与练习问题分类1 逻辑类问题(A 类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,在系统中起关键作用,将导致软件死机、功能正常实现等严重问题; 接口类问题(B 类)-指设计、编码中出现的函数和环境、其他函数、全局/局部变量或数据变量之间的数据/控制传输不匹配的问题,在系统中起重要作用,将导致模块间配合失效等严重问题; 维护类问题(C 类)-指设计、编码中出现的对软件系统的维护方便程度造成影响的问题,在系统中不起关键作用,但对系统后期维护造成不便或导致维护费用上升; 可测试性问题(D 类)-指设计、编码中因考虑不周而导致后期系统可测试性差的问题。处罚办法 问题发生率: P=D/S D=DA+0.5DB+0.25DC 其中: P -问题发生率 D -1 个季度内错误总数 DA -1 个季度内 A 类错误总数 DB -1 个季度内 B 类错误总数 DC -1 个季度内 C 类错误总数 S -1 个季度内收到问题报告单总数 1)当 D≥3 时,假如 P≥3%,将进行警告处理,并予以公告; 2)当 D≥5 时,假如 P≥5%,将进行罚款处理,并予以公告。目 录一、逻辑类代码问题第 5 页1、变量/指针在使用前就必须初始化第 5 页【案例 1.1.1】第 5 页2、防止指针/数组操作越界第 5 页【案例 1.2.1】第 5 页【案例 1.2.2】第 6 页【案例 1.2.3】第 7 页【案例 1.2.4】第 8 页3、避开指针的非法引用第 9 页【案例 1.3.1】第 9 页4、变量类型定义错误第 10 页【案例 1.4.1】第 10 页5、正确使用逻辑与&&、屏蔽&操作符第 17 页【案例 1.5.1】第 17 页6、注意数据类型的匹配第 18 页【案例 1.6.1】第 18 页【案例 1.6.2】第 18 页7、用于控制条件转移的表达式及取值范围是否书写正确第 20 页【案例 1.7.1】第 20 页【案例 1.7.2】第 21 页【案例 1.7.3】第 22 页8、条件分支处理是否有遗漏第 24 页【案例 1.8.1】第 24 页9、引用已释放的资源第 26 页【案例 1.9.1】第 26 页10、分配资源是否已正确释放第 28 页【案例 1.10.1】第 28 页【案例 1.10.2】第 29 页【案例 1.10.3】第 30 页【案例 1.10.4】第 32 页【案例 1.10.5】第 33 页【案例 1.10.6】第 35 页【案例 1.10.7】第 38 页11、防止资源的重复释放第 39 页【案例 1.11.1】第 39 页12、公共资源的互斥性和竞用性第 ...