- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
244 华为软件编程规范培训案例例子跟练习(68页)
软件编程规范培训实例与练习
第一版
深圳市华为技术有限公司
说明
本文分为两部分,第一部分为中研《关于规范开发人员设计编码行为、提高软件质量的通知》文件,其中包含来自测试人员总结的大量的包括逻辑类、接口类、维护类和可测试类四个方面的生动实例,是典型的软件编程规范培训实例,亦可供我司员工自学;第二部分是一个练习,作为软件编程规范教学使用。
案例与练习
第一部分 深圳市华为技术有限公司
研发管理办公室文件
关于规范开发人员设计编码行为、提高软件质量的通知
为更有效地贯彻执行《软件编码规范总则》,强化开发人员规范意识,进一步规范开发人员的设计、编码习惯(至少“犯过的错误,不能再犯”),为流程下游部门(如测试部)提供高质量的输出,使下游部门避免低效、重复劳动,特此通知,请各开发部门遵照执行。
以下问题由测试部的问题单、案例分类汇总而成,将常见设计、编码问题分为四类:逻辑类、接口类、维护类和可测试性,问题级别为:逻辑类 接口类 维护类 可测试性。
本通知中罗列问题如再次出现,将进行通报批评并记入干部部关键事件库。
问题分类
逻辑类问题(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、公共资源的互斥性和竞用性
第40页
【案例1.12.1】
第40页
【案例1.12.2】
第40页
二、接口类代码问题
第43页
1、对函数参数进行有效性检查
第43页
【案例2.1.1】
第43页
【案例2.1.2】
第43页
【案例2.1.3】
第44页
【案例2.1.4】
第46页
【案例2.1.5】
第47页
【案例2.1.6】
第48页
2、注意多出口函数的处理
第49页
【案例2.2.1】
第49页
三、维护类代码问题
第51页
1、
原创力文档


文档评论(0)