代码质量与静态检查.ppt
《代码质量与静态检查.ppt》由会员分享,可在线阅读,更多相关《代码质量与静态检查.ppt(24页珍藏版)》请在三一办公上搜索。
1、代码质量与静态检查,目录,什么是代码质量 如何保证代码质量 提高代码质量的方法 静态检测 PC-Lint 动态检查 代码度量 程序员与代码质量,什么是代码质量,代码的最终载体是软件产品(Software);软件质量(Software Quality)最终体现为代码质量(Code Quality);对软件产品的质量要求就间接的提出了对代码的质量要求;问:什么高质量的软件产品?答:符合用户需求、运行稳定、性能优异、易维护、易扩展等;间接引申出程度代码的质量要求:可用性:正确、有效 健壮性:可靠、容错 可测试:可读:可维护:可扩展:,如何保证代码质量,保证可用性功能测试(UT/ST)、性能测试、可靠
2、性测试 保证健壮性压力测试、异常测试 保证可测试性架构设计、子系统设计、模块设计、接口设计 保证可读性编程规范、代码风格 保证可维护性/可扩展性,如何保证代码质量,软件测试的意义发现更多的BUG,减少错误出现概率,保证软件产品是合格的产品;如何从合格到达优秀,成为高质量软件产品?着重体现在代码的软指标上,可测,可读,可维护,可扩展;设计的重要性设计可以部分保证可测、可维护、可扩展;剩下的部分依靠什么来保证?靠人,靠程序员。但人往往是最不可靠的东西。东西才可靠,这东西就是工具。,提高代码质量方法,两大法宝:测试 检查测试后续再交流,本次主要交流代码检查部分;代码检查的目的不单是为了提高软指标,已
3、深入到程序逻辑、内存检测、复杂度、优化建议等高级层面,从而反过来影响程序功能和性能。代码检查分为:静态检查:对程序代码的检查;动态检查:程序运行时检查;动态检查着重于内存和资源检查。,静态检查,静态检查静态检查能检查出哪些问题?变量未初始化空指针引用数据类型不匹配返回局部变量数组字符串边界溢出内存泄露静态检查可以通过人工进行:代码走读,代码检视。也可以通过工具进行:编译器,专业的代码检查工具,如pclint,splint,coverity,PCLINT,PC-lint(FlexeLint)Gimpel Software.事实上的工业标准,pclint目前版本9.00i需要安装,安装后目录结构如
4、右图,运行lint-nt.exe可见帮助信息;,PCLINT,Pclint安装完成后,下载最新的补丁包,将其PATCH到最新版本。安装完成后,会提示是否需要设置;按照GUI界面,一路设置即可;主要设置了编译环境,编译器,内存模型,使用的库,以及设置相关的库文件目录等;关键配置文件:std.lntoptions.lnt将pclint主目录设置到系统PATH;,PCLINT,一个简单的例子:,可以看到pclint检查出一个warning:符号i未初始化;,PCLINT,Pclint对检查到的代码问题进行分级,目前主要包含如右图几类信息:,每一个问题pclint都会具有一个对应的编码,基本对应关系如
5、下图:,PCLINT,针对Pclint的消息级别,通常有如下特征:Syntax Errror:语法错误,通常是错误,需要修改;Internal Error:Pclint内部错误,一般不会出现;Fatal Error:致命错误,通常是文件错误或溢出错误;Warning:告警,pclint检测的主要目的,通常都是语法上正确但可能会导致程序错误的代码;Info:提示信息,通常和编程风格有关,存在错误的可能性;Elective Notes:可选信息,一般无需关注;Pclint的错误告警级别分为0,1,2,3,4,数字越小错误越严重,默认级别是3(info),也是推荐的级别;可使用-wLevel修改消息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 代码 质量 静态 检查

链接地址:https://www.31ppt.com/p-6361511.html