代码审查流程与要点课件.ppt
《代码审查流程与要点课件.ppt》由会员分享,可在线阅读,更多相关《代码审查流程与要点课件.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1代码审查流程与要点生产平台组生产平台组2016-1-232016-1-23目录1.1.1.1.概述概述概述概述2.2.2.2.代码审查的目的代码审查的目的代码审查的目的代码审查的目的3.3.3.3.代码审查的好处代码审查的好处代码审查的好处代码审查的好处4.4.4.4.代码审查的局限性代码审查的局限性代码审查的局限性代码审查的局限性5.5.5.5.代码审查内容代码审查内容代码审查内容代码审查内容6.6.6.6.代码审查流程代码审查流程代码审查流程代码审查流程7.7.7.7.代码审查工具代码审查工具代码审查工具代码审查工具21.概述 Code Review Code Review代码审查是指软
2、件开发过程中,通过对代码审查是指软件开发过程中,通过对代码审查是指软件开发过程中,通过对代码审查是指软件开发过程中,通过对源代码进行系统性检查的过程。通常的目的是查找各种缺源代码进行系统性检查的过程。通常的目的是查找各种缺源代码进行系统性检查的过程。通常的目的是查找各种缺源代码进行系统性检查的过程。通常的目的是查找各种缺陷,包括代码缺陷、功能实现问题、编码合理性、性能优陷,包括代码缺陷、功能实现问题、编码合理性、性能优陷,包括代码缺陷、功能实现问题、编码合理性、性能优陷,包括代码缺陷、功能实现问题、编码合理性、性能优化等;保证软件总体质量和提高开发者自身水平。化等;保证软件总体质量和提高开发者
3、自身水平。化等;保证软件总体质量和提高开发者自身水平。化等;保证软件总体质量和提高开发者自身水平。32.代码审查的目的u u检查开发人员是否遵守开发规范中的规定检查开发人员是否遵守开发规范中的规定检查开发人员是否遵守开发规范中的规定检查开发人员是否遵守开发规范中的规定u u检查代码是否存在审定表中的错误检查代码是否存在审定表中的错误检查代码是否存在审定表中的错误检查代码是否存在审定表中的错误u u检查代码是否存在逻辑错误、性能低下或安全问题检查代码是否存在逻辑错误、性能低下或安全问题检查代码是否存在逻辑错误、性能低下或安全问题检查代码是否存在逻辑错误、性能低下或安全问题43.代码审查的好处u
4、u提高代码质量提高代码质量提高代码质量提高代码质量u u及早发现潜在缺陷,降低修改及早发现潜在缺陷,降低修改及早发现潜在缺陷,降低修改及早发现潜在缺陷,降低修改/弥补缺陷的成本弥补缺陷的成本弥补缺陷的成本弥补缺陷的成本u u促进团队内部知识共享,提高团队的整体水平促进团队内部知识共享,提高团队的整体水平促进团队内部知识共享,提高团队的整体水平促进团队内部知识共享,提高团队的整体水平u u评审过程对于评审人员来说,也是一种思路重构的过程,帮助更多的评审过程对于评审人员来说,也是一种思路重构的过程,帮助更多的评审过程对于评审人员来说,也是一种思路重构的过程,帮助更多的评审过程对于评审人员来说,也是
5、一种思路重构的过程,帮助更多的人理解系统人理解系统人理解系统人理解系统u u是一种传递知识的手段,可以让其它并不熟悉代码的人知道作者的意是一种传递知识的手段,可以让其它并不熟悉代码的人知道作者的意是一种传递知识的手段,可以让其它并不熟悉代码的人知道作者的意是一种传递知识的手段,可以让其它并不熟悉代码的人知道作者的意图和想法,从而可以在以后轻松维护代码图和想法,从而可以在以后轻松维护代码图和想法,从而可以在以后轻松维护代码图和想法,从而可以在以后轻松维护代码u u鼓励程序员们相互学习对方的长处和有点鼓励程序员们相互学习对方的长处和有点鼓励程序员们相互学习对方的长处和有点鼓励程序员们相互学习对方的
6、长处和有点u u可以被用来确认设计和实现是否合理,检查设计是否清楚和简单可以被用来确认设计和实现是否合理,检查设计是否清楚和简单可以被用来确认设计和实现是否合理,检查设计是否清楚和简单可以被用来确认设计和实现是否合理,检查设计是否清楚和简单54.代码审查的局限u u无法完全验证逻辑是否正确,无法检查功能是否完整;无法完全验证逻辑是否正确,无法检查功能是否完整;无法完全验证逻辑是否正确,无法检查功能是否完整;无法完全验证逻辑是否正确,无法检查功能是否完整;u u无法检测代码中遗漏的路径和数据敏感性错误无法检测代码中遗漏的路径和数据敏感性错误无法检测代码中遗漏的路径和数据敏感性错误无法检测代码中遗
7、漏的路径和数据敏感性错误u u不验证规格的正确性不验证规格的正确性不验证规格的正确性不验证规格的正确性u u代价高昂,对于以上局限,需要编写正确的详尽的测试用代价高昂,对于以上局限,需要编写正确的详尽的测试用代价高昂,对于以上局限,需要编写正确的详尽的测试用代价高昂,对于以上局限,需要编写正确的详尽的测试用例,进行功能测试和集成测试来弥补。例,进行功能测试和集成测试来弥补。例,进行功能测试和集成测试来弥补。例,进行功能测试和集成测试来弥补。65.审查内容u u基本规范:检查代码编写是否满足编码规范;基本规范:检查代码编写是否满足编码规范;基本规范:检查代码编写是否满足编码规范;基本规范:检查代
8、码编写是否满足编码规范;u u程序逻辑:检查基本的程序逻辑、性能、安全性等是否程序逻辑:检查基本的程序逻辑、性能、安全性等是否程序逻辑:检查基本的程序逻辑、性能、安全性等是否程序逻辑:检查基本的程序逻辑、性能、安全性等是否存在问题,用户交互流程是否满足正常的软件使用要求;存在问题,用户交互流程是否满足正常的软件使用要求;存在问题,用户交互流程是否满足正常的软件使用要求;存在问题,用户交互流程是否满足正常的软件使用要求;u u软件设计:检查软件的基础设计、模块之间的耦合关系、软件设计:检查软件的基础设计、模块之间的耦合关系、软件设计:检查软件的基础设计、模块之间的耦合关系、软件设计:检查软件的基
9、础设计、模块之间的耦合关系、第三方库或框架的使用是否合理。第三方库或框架的使用是否合理。第三方库或框架的使用是否合理。第三方库或框架的使用是否合理。代码审查分代码审查分3 3个等级:个等级:75.1基本规范 项目在立项时需确定本项目所遵循的编码规范,如有特项目在立项时需确定本项目所遵循的编码规范,如有特项目在立项时需确定本项目所遵循的编码规范,如有特项目在立项时需确定本项目所遵循的编码规范,如有特殊要求,可在通用编码规范基础上进行适当修改。纯殊要求,可在通用编码规范基础上进行适当修改。纯殊要求,可在通用编码规范基础上进行适当修改。纯殊要求,可在通用编码规范基础上进行适当修改。纯C+/VC+C+
10、/VC+开发项目应遵守开发项目应遵守开发项目应遵守开发项目应遵守C+C+编码规范编码规范编码规范编码规范,C#C#开发项目开发项目开发项目开发项目应遵守应遵守应遵守应遵守C#C#编码规范编码规范编码规范编码规范,混合开发项目应遵守两种编码规范。,混合开发项目应遵守两种编码规范。,混合开发项目应遵守两种编码规范。,混合开发项目应遵守两种编码规范。8ccooppyyrriigghhtt22000055lleeaaddoorr大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流可以互相讨论下,但要小声点可以互相讨论下,但要小声点可以互相讨论下,但要小声点可以互相讨论下,但要小声点95.1基本规范
11、:案例1 成员变量命名不规范;成员变量命名不规范;成员变量命名不规范;成员变量命名不规范;成员变量访问权限申明方式不一致;成员变量访问权限申明方式不一致;成员变量访问权限申明方式不一致;成员变量访问权限申明方式不一致;代码之间的空行不符合规范;代码之间的空行不符合规范;代码之间的空行不符合规范;代码之间的空行不符合规范;部分成员变量只有申明,没有初始化;部分成员变量只有申明,没有初始化;部分成员变量只有申明,没有初始化;部分成员变量只有申明,没有初始化;没有注释没有注释没有注释没有注释105.1基本规范:案例2 一个代码文件中包含多个类;一个代码文件中包含多个类;一个代码文件中包含多个类;一个
12、代码文件中包含多个类;一个代码文件中代码过长;一个代码文件中代码过长;一个代码文件中代码过长;一个代码文件中代码过长;有的类中成员变量有初始值,有的没有;有的类中成员变量有初始值,有的没有;有的类中成员变量有初始值,有的没有;有的类中成员变量有初始值,有的没有;有的类有注释,有的类有注释,有的类有注释,有的类有注释,有的没有。有的没有。有的没有。有的没有。115.2程序逻辑 程序逻辑检查软件基本的程序逻辑是否合理,包括循程序逻辑检查软件基本的程序逻辑是否合理,包括循程序逻辑检查软件基本的程序逻辑是否合理,包括循程序逻辑检查软件基本的程序逻辑是否合理,包括循环、递归、线程、事务等代码结构上的合理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 代码 审查 流程 要点 课件
限制150内