1 / 68
文档名称:

软件编程规范培训实例与练习.doc

格式:doc   大小:293KB   页数:68页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件编程规范培训实例与练习.doc

上传人:梅花书斋 2019/12/4 文件大小:293 KB

下载得到文件列表

软件编程规范培训实例与练习.doc

相关文档

文档介绍

文档介绍:软件编程规范培训实例与练****问题分类1逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,在系统中起关键作用,将导致软件死机、功能正常实现等严重问题;接口类问题(B类)-指设计、编码中出现的函数和环境、其他函数、全局/局部变量或数据变量之间的数据/控制传输不匹配的问题,在系统中起重要作用,将导致模块间配合失效等严重问题;维护类问题(C类)-指设计、编码中出现的对软件系统的维护方便程度造成影响的问题,在系统中不起关键作用,但对系统后期维护造成不便或导致维护费用上升;可测试性问题(D类)-指设计、编码中因考虑不周而导致后期系统可测试性差的问题。处罚办法问题发生率:P=D/SD=DA++其中: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页【】第5页2、防止指针/数组操作越界第5页【】第5页【】第6页【】第7页【】第8页3、避免指针的非法引用第9页【】第9页4、变量类型定义错误第10页【】第10页5、正确使用逻辑与&&、屏蔽&操作符第17页【】第17页6、注意数据类型的匹配第18页【】第18页【】第18页7、用于控制条件转移的表达式及取值范围是否书写正确第20页【】第20页【】第21页【】第22页8、条件分支处理是否有遗漏第24页【】第24页9、引用已释放的资源第26页【】第26页10、分配资源是否已正确释放第28页【】第28页【】第29页【】第30页【】第32页【】第33页【】第35页【】第38页11、防止资源的重复释放第39页【】第39页12、公共资源的互斥性和竞用性第40页【】第40页【】第40页二、接口类代码问题第43页1、对函数参数进行有效性检查第43页【】第43页【】第43页【】第44页【】第46页【】第47页【】第48页2、注意多出口函数的处理第49页【】第49页三、维护类代码问题第51页1、统一枚举类型的使用第51页【】第51页2、注释量至少占代码总量的20%第51页【】对XXX产品BAM某版本部分代码注释量的统计第51页四、产品兼容性问题第52页1、系统配置、命令方式第52页【】第52页【】第53页2、设备对接第54页【】第54页3、其他第55页【】第55页五、版本控制问题第58页1、新老代码中同一全局变量不一致第58页【】第58页六、可测试性代码问题第59页1、调试信息/打印信息的正确性第59页【】第59页一、逻辑类代码问题1、变量/指针在使用前就必须初始化【】 C语言中最大的特色就是指针。指针的使用具有很强的技巧性和灵活性,但同时也带来了很大的危险性。在XXX的代码中有如下一端对指针的灵活使用:......_UC*puc_card_config_tab;......Get_Config_Table(AMP_CPM_CARD_CONFIG_TABLE,&ul_card_config_num,&puc_card_config_tab,use_which_data_area);......b_middle_data_ok=generate_trans_middle_data_from_original_data(puc_card_config_tab,Ul_card_config_num).......其中红色部分巧妙的利用指向指针的指针为指针puc_card_config_tab赋值,而在兰色部分使用该指针。但在Get_Config_Table函数中有可能失败返回而不给该指针赋值。因此,以后使用的可能是一个非法指针。指针的使用是非常灵活的,同时也存在危险性,必须小心使用。指针使用的危险性举世共知。在新的编程思想中,指针基本上被禁止使用(JAVA中就是这样),至少也是被限制使用。而在我们交换机的程序中大量使用指针,并且有增无减。2