欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    代码审查流程与要点.pptx

    • 资源ID:82685704       资源大小:329.40KB        全文页数:22页
    • 资源格式: PPTX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    代码审查流程与要点.pptx

    会计学1代码审查代码审查(shnch)流程与要点流程与要点第一页,共22页。目录(ml)1.1.1.1.概述概述概述概述2.2.2.2.代码审查的目的代码审查的目的代码审查的目的代码审查的目的3.3.3.3.代码审查的好处代码审查的好处代码审查的好处代码审查的好处(ho(ho(ho(ho chu)chu)chu)chu)4.4.4.4.代码审查的局限性代码审查的局限性代码审查的局限性代码审查的局限性5.5.5.5.代码审查内容代码审查内容代码审查内容代码审查内容6.6.6.6.代码代码代码代码(di m)(di m)(di m)(di m)审查审查审查审查流程流程流程流程7.7.7.7.代码代码代码代码(di m)(di m)(di m)(di m)审查审查审查审查工具工具工具工具第1页/共22页第二页,共22页。1.概述(i sh)Code Review Code Review代码审查是指软件开发过程中,通过对代码审查是指软件开发过程中,通过对代码审查是指软件开发过程中,通过对代码审查是指软件开发过程中,通过对源代码进行系统性检查的过程。通常的目的是查找各种源代码进行系统性检查的过程。通常的目的是查找各种源代码进行系统性检查的过程。通常的目的是查找各种源代码进行系统性检查的过程。通常的目的是查找各种缺陷,包括代码缺陷、功能实现问题、编码合理性、性缺陷,包括代码缺陷、功能实现问题、编码合理性、性缺陷,包括代码缺陷、功能实现问题、编码合理性、性缺陷,包括代码缺陷、功能实现问题、编码合理性、性能优化等;保证软件总体质量和提高开发者自身能优化等;保证软件总体质量和提高开发者自身能优化等;保证软件总体质量和提高开发者自身能优化等;保证软件总体质量和提高开发者自身(zshn)(zshn)水平。水平。水平。水平。第2页/共22页第三页,共22页。2.代码(di m)审查的目的uu检查开发检查开发检查开发检查开发(kif)(kif)人员是否遵守开发人员是否遵守开发人员是否遵守开发人员是否遵守开发(kif)(kif)规范中的规定规范中的规定规范中的规定规范中的规定uu检查代码是否存在审定表中的错误检查代码是否存在审定表中的错误检查代码是否存在审定表中的错误检查代码是否存在审定表中的错误uu检查代码是否存在逻辑错误、性能低下或安全问题检查代码是否存在逻辑错误、性能低下或安全问题检查代码是否存在逻辑错误、性能低下或安全问题检查代码是否存在逻辑错误、性能低下或安全问题第3页/共22页第四页,共22页。3.代码(di m)审查的好处uu提高代码质量提高代码质量提高代码质量提高代码质量uu及早发现潜在缺陷,降低修改及早发现潜在缺陷,降低修改及早发现潜在缺陷,降低修改及早发现潜在缺陷,降低修改/弥补缺陷的成本弥补缺陷的成本弥补缺陷的成本弥补缺陷的成本uu促进团队内部知识共享,提高团队的整体水平促进团队内部知识共享,提高团队的整体水平促进团队内部知识共享,提高团队的整体水平促进团队内部知识共享,提高团队的整体水平uu评审过程对于评审人员来说,也是一种思路重构的过程,帮助更多的人评审过程对于评审人员来说,也是一种思路重构的过程,帮助更多的人评审过程对于评审人员来说,也是一种思路重构的过程,帮助更多的人评审过程对于评审人员来说,也是一种思路重构的过程,帮助更多的人理解系统理解系统理解系统理解系统uu是一种传递知识的手段,可以让其它并不熟悉代码的人知道作者的意图是一种传递知识的手段,可以让其它并不熟悉代码的人知道作者的意图是一种传递知识的手段,可以让其它并不熟悉代码的人知道作者的意图是一种传递知识的手段,可以让其它并不熟悉代码的人知道作者的意图(yt)(yt)和想法,从而可以在以后轻松维护代码和想法,从而可以在以后轻松维护代码和想法,从而可以在以后轻松维护代码和想法,从而可以在以后轻松维护代码uu鼓励程序员们相互学习对方的长处和有点鼓励程序员们相互学习对方的长处和有点鼓励程序员们相互学习对方的长处和有点鼓励程序员们相互学习对方的长处和有点uu可以被用来确认设计和实现是否合理,检查设计是否清楚和简单可以被用来确认设计和实现是否合理,检查设计是否清楚和简单可以被用来确认设计和实现是否合理,检查设计是否清楚和简单可以被用来确认设计和实现是否合理,检查设计是否清楚和简单第4页/共22页第五页,共22页。4.代码审查(shnch)的局限uu无法完全验证逻辑是否正确,无法检查功能是否完整;无法完全验证逻辑是否正确,无法检查功能是否完整;无法完全验证逻辑是否正确,无法检查功能是否完整;无法完全验证逻辑是否正确,无法检查功能是否完整;uu无法检测代码中遗漏的路径和数据敏感性错误无法检测代码中遗漏的路径和数据敏感性错误无法检测代码中遗漏的路径和数据敏感性错误无法检测代码中遗漏的路径和数据敏感性错误uu不验证规格的正确性不验证规格的正确性不验证规格的正确性不验证规格的正确性uu代价高昂,对于以上局限,需要编写代价高昂,对于以上局限,需要编写代价高昂,对于以上局限,需要编写代价高昂,对于以上局限,需要编写(binxi)(binxi)正确的详尽的测正确的详尽的测正确的详尽的测正确的详尽的测试用例,进行功能测试和集成测试来弥补。试用例,进行功能测试和集成测试来弥补。试用例,进行功能测试和集成测试来弥补。试用例,进行功能测试和集成测试来弥补。第5页/共22页第六页,共22页。5.审查(shnch)内容uu基本规范:检查代码编写是否满足编码规范;基本规范:检查代码编写是否满足编码规范;基本规范:检查代码编写是否满足编码规范;基本规范:检查代码编写是否满足编码规范;uu程序逻辑:检查基本的程序逻辑、性能、安全性等是否存在问程序逻辑:检查基本的程序逻辑、性能、安全性等是否存在问程序逻辑:检查基本的程序逻辑、性能、安全性等是否存在问程序逻辑:检查基本的程序逻辑、性能、安全性等是否存在问题,用户交互流程是否满足正常的软件使用要求;题,用户交互流程是否满足正常的软件使用要求;题,用户交互流程是否满足正常的软件使用要求;题,用户交互流程是否满足正常的软件使用要求;uu软件设计:检查软件的基础设计、模块之间的耦合关系软件设计:检查软件的基础设计、模块之间的耦合关系软件设计:检查软件的基础设计、模块之间的耦合关系软件设计:检查软件的基础设计、模块之间的耦合关系(gun(gun x)x)、第三方库或框架的使用是否合理。、第三方库或框架的使用是否合理。、第三方库或框架的使用是否合理。、第三方库或框架的使用是否合理。代码审查代码审查(shnch)(shnch)分分3 3个等级:个等级:第6页/共22页第七页,共22页。5.1基本(jbn)规范 项目在立项项目在立项项目在立项项目在立项(l xin)(l xin)时需确定本项目所遵循的编码规范,如有特时需确定本项目所遵循的编码规范,如有特时需确定本项目所遵循的编码规范,如有特时需确定本项目所遵循的编码规范,如有特殊要求,可在通用编码规范基础上进行适当修改。纯殊要求,可在通用编码规范基础上进行适当修改。纯殊要求,可在通用编码规范基础上进行适当修改。纯殊要求,可在通用编码规范基础上进行适当修改。纯C+/VC+C+/VC+开发项开发项开发项开发项目应遵守目应遵守目应遵守目应遵守C+C+编码规范,编码规范,编码规范,编码规范,C#C#开发项目应遵守开发项目应遵守开发项目应遵守开发项目应遵守C#C#编码规范,混编码规范,混编码规范,混编码规范,混合开发项目应遵守两种编码规范。合开发项目应遵守两种编码规范。合开发项目应遵守两种编码规范。合开发项目应遵守两种编码规范。第7页/共22页第八页,共22页。5.1基本(jbn)规范:案例11.1.成员变量命名不规范;成员变量命名不规范;成员变量命名不规范;成员变量命名不规范;2.2.成员变量访问权限申明方式不一致;成员变量访问权限申明方式不一致;成员变量访问权限申明方式不一致;成员变量访问权限申明方式不一致;3.3.代码代码代码代码(di m)(di m)之间的空行不符合规范;之间的空行不符合规范;之间的空行不符合规范;之间的空行不符合规范;4.4.部分成员变量只有申明,没有初始化;部分成员变量只有申明,没有初始化;部分成员变量只有申明,没有初始化;部分成员变量只有申明,没有初始化;5.5.没有注释没有注释没有注释没有注释第8页/共22页第九页,共22页。5.1基本规范(gufn):案例21.1.一个代码文件中包含多个类;一个代码文件中包含多个类;一个代码文件中包含多个类;一个代码文件中包含多个类;2.2.一个代码文件中代码过长;一个代码文件中代码过长;一个代码文件中代码过长;一个代码文件中代码过长;3.3.有的类中成员有的类中成员有的类中成员有的类中成员(chngyun)(chngyun)变量有初始值,有的没有;变量有初始值,有的没有;变量有初始值,有的没有;变量有初始值,有的没有;4.4.有的类有注释,有的类有注释,有的类有注释,有的类有注释,有的没有。有的没有。有的没有。有的没有。第9页/共22页第十页,共22页。5.2程序逻辑 程序逻辑检查软件基本的程序逻辑是否合理,包括循程序逻辑检查软件基本的程序逻辑是否合理,包括循程序逻辑检查软件基本的程序逻辑是否合理,包括循程序逻辑检查软件基本的程序逻辑是否合理,包括循环、递归、线程、事务等代码结构上的合理性。还包括异环、递归、线程、事务等代码结构上的合理性。还包括异环、递归、线程、事务等代码结构上的合理性。还包括异环、递归、线程、事务等代码结构上的合理性。还包括异常处理、性能、重复代码、可优化代码,无效常处理、性能、重复代码、可优化代码,无效常处理、性能、重复代码、可优化代码,无效常处理、性能、重复代码、可优化代码,无效(wxio)(wxio)代代代代码等的检查。在代码程度上检查用户界面操作逻辑是否正码等的检查。在代码程度上检查用户界面操作逻辑是否正码等的检查。在代码程度上检查用户界面操作逻辑是否正码等的检查。在代码程度上检查用户界面操作逻辑是否正确、布局是否合理、用户提示是否简捷明了、是否存在重确、布局是否合理、用户提示是否简捷明了、是否存在重确、布局是否合理、用户提示是否简捷明了、是否存在重确、布局是否合理、用户提示是否简捷明了、是否存在重复或无用功能等。复或无用功能等。复或无用功能等。复或无用功能等。第10页/共22页第十一页,共22页。5.2程序逻辑:案例(n l)11.1.异常淹没:异常捕获后没有进行任何异常淹没:异常捕获后没有进行任何异常淹没:异常捕获后没有进行任何异常淹没:异常捕获后没有进行任何(rnh)(rnh)处理,也没有将异常抛出。处理,也没有将异常抛出。处理,也没有将异常抛出。处理,也没有将异常抛出。第11页/共22页第十二页,共22页。5.2程序逻辑:案例(n l)21.1.提示框不符合要求:没有标题,没有显示图标(提示、警告、借误等)。提示框不符合要求:没有标题,没有显示图标(提示、警告、借误等)。提示框不符合要求:没有标题,没有显示图标(提示、警告、借误等)。提示框不符合要求:没有标题,没有显示图标(提示、警告、借误等)。2.2.提示表意不清,应明确显示是什么结点提示表意不清,应明确显示是什么结点提示表意不清,应明确显示是什么结点提示表意不清,应明确显示是什么结点(ji din)(ji din)没有选中,而且结点没有选中,而且结点没有选中,而且结点没有选中,而且结点(ji din)(ji din)是程序语言,要翻译成用户语言,如:未选中兵要,请先选择一个兵要!。是程序语言,要翻译成用户语言,如:未选中兵要,请先选择一个兵要!。是程序语言,要翻译成用户语言,如:未选中兵要,请先选择一个兵要!。是程序语言,要翻译成用户语言,如:未选中兵要,请先选择一个兵要!。第12页/共22页第十三页,共22页。5.3软件设计 软件设计软件设计软件设计软件设计(shj)(shj)检查软件的层次结构划分是否合理,检查软件的层次结构划分是否合理,检查软件的层次结构划分是否合理,检查软件的层次结构划分是否合理,UIUI层、层、层、层、逻辑层、数据层、组件层等是否清晰,有无混淆;软件在性能设逻辑层、数据层、组件层等是否清晰,有无混淆;软件在性能设逻辑层、数据层、组件层等是否清晰,有无混淆;软件在性能设逻辑层、数据层、组件层等是否清晰,有无混淆;软件在性能设计计计计(shj)(shj)、安全性设计、安全性设计、安全性设计、安全性设计(shj)(shj)、易维护性设计、易维护性设计、易维护性设计、易维护性设计(shj)(shj)、健壮性、健壮性、健壮性、健壮性设计设计设计设计(shj)(shj)等设计等设计等设计等设计(shj)(shj)方面是否合理。方面是否合理。方面是否合理。方面是否合理。第13页/共22页第十四页,共22页。5.3软件设计:案例(n l)11.1.工程命名有问题:该项目没有引入插件框架,这个工程是从其他项目拷贝而来,但是工程名称没有修改工程命名有问题:该项目没有引入插件框架,这个工程是从其他项目拷贝而来,但是工程名称没有修改工程命名有问题:该项目没有引入插件框架,这个工程是从其他项目拷贝而来,但是工程名称没有修改工程命名有问题:该项目没有引入插件框架,这个工程是从其他项目拷贝而来,但是工程名称没有修改(xigi)(xigi)正确;正确;正确;正确;2.2.都是都是都是都是ArcGISArcGIS工具类,但是分散在工具类,但是分散在工具类,但是分散在工具类,但是分散在 2 2个工程中,应该把第个工程中,应该把第个工程中,应该把第个工程中,应该把第 2 2个工程中的工具类移到第个工程中的工具类移到第个工程中的工具类移到第个工程中的工具类移到第 1 1个工程中。个工程中。个工程中。个工程中。第14页/共22页第十五页,共22页。6.代码审查(shnch)流程立项(l xin)阶段编写代码(di m)审查计划书建立代码审查缺陷库确定编码规范研制阶段提交代码审查申请单代码审查入口检查实施代码审查输出代码审查报告存在缺陷是代码整改否归档结项阶段编写代码审查总结报告存档第15页/共22页第十六页,共22页。6.1立项(l xin)阶段1.1.编写代码审查计划书:描述项目或产品在研制过程中进行编写代码审查计划书:描述项目或产品在研制过程中进行编写代码审查计划书:描述项目或产品在研制过程中进行编写代码审查计划书:描述项目或产品在研制过程中进行代码审查活动代码审查活动代码审查活动代码审查活动(hu dng)(hu dng)的时间与周期,明确项目开发负责的时间与周期,明确项目开发负责的时间与周期,明确项目开发负责的时间与周期,明确项目开发负责人、代码审查负责人;人、代码审查负责人;人、代码审查负责人;人、代码审查负责人;2.2.建立代码审查缺陷库:在项目或产品研制开始前开发负责建立代码审查缺陷库:在项目或产品研制开始前开发负责建立代码审查缺陷库:在项目或产品研制开始前开发负责建立代码审查缺陷库:在项目或产品研制开始前开发负责人按照部门代码审查缺陷库模板建立代码审查缺陷库,建人按照部门代码审查缺陷库模板建立代码审查缺陷库,建人按照部门代码审查缺陷库模板建立代码审查缺陷库,建人按照部门代码审查缺陷库模板建立代码审查缺陷库,建立所有开发人员和审查人员的权限;立所有开发人员和审查人员的权限;立所有开发人员和审查人员的权限;立所有开发人员和审查人员的权限;3.3.确定编码规范:开发负责人确定本项目或产品研制需遵循确定编码规范:开发负责人确定本项目或产品研制需遵循确定编码规范:开发负责人确定本项目或产品研制需遵循确定编码规范:开发负责人确定本项目或产品研制需遵循的编码规范,并上传至代码审查缺陷库中。的编码规范,并上传至代码审查缺陷库中。的编码规范,并上传至代码审查缺陷库中。的编码规范,并上传至代码审查缺陷库中。第16页/共22页第十七页,共22页。6.2研制(ynzh)阶段1.1.提交代码审查申请单:到达项目提交代码审查申请单:到达项目提交代码审查申请单:到达项目提交代码审查申请单:到达项目/产品代码审查时间节点时,开发产品代码审查时间节点时,开发产品代码审查时间节点时,开发产品代码审查时间节点时,开发负责人确定代码基线,提交代码审查申请单给代码审查负责人;负责人确定代码基线,提交代码审查申请单给代码审查负责人;负责人确定代码基线,提交代码审查申请单给代码审查负责人;负责人确定代码基线,提交代码审查申请单给代码审查负责人;2.2.代码审查入品检查:代码审查负责人检查代码库中的代码基线是代码审查入品检查:代码审查负责人检查代码库中的代码基线是代码审查入品检查:代码审查负责人检查代码库中的代码基线是代码审查入品检查:代码审查负责人检查代码库中的代码基线是否满足代码审查条件,如不满足,退回至开发负责人;否满足代码审查条件,如不满足,退回至开发负责人;否满足代码审查条件,如不满足,退回至开发负责人;否满足代码审查条件,如不满足,退回至开发负责人;3.3.实施代码审查:审查负责人分配代码审查任务实施代码审查:审查负责人分配代码审查任务实施代码审查:审查负责人分配代码审查任务实施代码审查:审查负责人分配代码审查任务(rn wu)(rn wu)给审查人给审查人给审查人给审查人员,审查人员利用工具或手动按照编码规范与经验对代码进行审员,审查人员利用工具或手动按照编码规范与经验对代码进行审员,审查人员利用工具或手动按照编码规范与经验对代码进行审员,审查人员利用工具或手动按照编码规范与经验对代码进行审查。查。查。查。第17页/共22页第十八页,共22页。6.2研制(ynzh)阶段4.4.输出输出输出输出(shch)(shch)代码审查报告:代码审查完成后,审查负责人编写代码审查报告:代码审查完成后,审查负责人编写代码审查报告:代码审查完成后,审查负责人编写代码审查报告:代码审查完成后,审查负责人编写代码审查报告至开发负责人;代码审查报告至开发负责人;代码审查报告至开发负责人;代码审查报告至开发负责人;5.5.代码整改:代码整改:代码整改:代码整改:代码审查报告中如果存在不符合项,开发负责人代码审查报告中如果存在不符合项,开发负责人代码审查报告中如果存在不符合项,开发负责人代码审查报告中如果存在不符合项,开发负责人按照不符合项分配代码整改任务;整改完成后重复按照不符合项分配代码整改任务;整改完成后重复按照不符合项分配代码整改任务;整改完成后重复按照不符合项分配代码整改任务;整改完成后重复1515过程。过程。过程。过程。第18页/共22页第十九页,共22页。6.3结项阶段(jidun)1.1.项目结项时,代码审查负责人编写代码审查总结报告项目结项时,代码审查负责人编写代码审查总结报告项目结项时,代码审查负责人编写代码审查总结报告项目结项时,代码审查负责人编写代码审查总结报告并向部门并向部门并向部门并向部门(bmn)(bmn)作总结报告,帮助部门作总结报告,帮助部门作总结报告,帮助部门作总结报告,帮助部门(bmn)(bmn)整理该项整理该项整理该项整理该项目研制过程中出现的代码质量问题,其他项目组应以此为目研制过程中出现的代码质量问题,其他项目组应以此为目研制过程中出现的代码质量问题,其他项目组应以此为目研制过程中出现的代码质量问题,其他项目组应以此为鉴,杜绝出现类似问题。鉴,杜绝出现类似问题。鉴,杜绝出现类似问题。鉴,杜绝出现类似问题。第19页/共22页第二十页,共22页。7.代码(di m)审查工具1.SourceAnalysis 1.SourceAnalysis(StyleCopStyleCop):代码自动化检查):代码自动化检查):代码自动化检查):代码自动化检查(jinch)(jinch)工具,工具,工具,工具,检查检查检查检查(jinch)(jinch)代码是否按照制定的编辑规则进行编码,可与代码是否按照制定的编辑规则进行编码,可与代码是否按照制定的编辑规则进行编码,可与代码是否按照制定的编辑规则进行编码,可与Visual StudioVisual Studio集成。集成。集成。集成。第20页/共22页第二十一页,共22页。谢谢(xi xie)!第21页/共22页第二十二页,共22页。

    注意事项

    本文(代码审查流程与要点.pptx)为本站会员(一***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开