- 3
- 0
- 约5.99千字
- 约 5页
- 2017-05-12 发布于河南
- 举报
Code Review 理论与实战
Code Review 理论与实战
?
?
摘 要
Code Review是一种通过复查代码提高代码质量的过程,在XP方法中占有极为重要的地位,也已经成为软件工程中一个不可缺少的环节。本文通过对Code Review的一些概念和经验的探讨,就如何进行Code Review和Code Review中应该注意什么提出一些建议。 本文中涉及的问题大部分针对JAVA类代码。同时本文不涉及Code Review过程和组织。
关键词: Code Review,JAVA, XP ,代码质量 ,软件工程
一、Code Review简介
1 Code Review的目的
凡事知其然还要知其所以然,我们首先需要知道什么是Code Review和我们使用它的目的是什么。Code Review是一种用来确认方案设计和代码实现的质量保证机制,通过这个机制我们可以对代码,测试过程和注释进行检查。Code Review主要用来在软件工程过程中改进代码质量,通过Code Review可以达到如下目的:1,尽早地发现bug;这里并不是指一些简单的bug,而是一些可能是因为经验上不足而出现的潜在的bug。因此code review人员一定是要比较有经验的人担当。2,帮助初级开发人员学习高级开发人员的经验,以达到知识共享;这点也很重要,使得小组成员不断地进步,这样才能更有效地工作。3,保证项目组成员有良好的沟通;code review人员起着小组沟通桥梁的作用,而不是去熟悉每个单元代码,而去调试、编译等工作,那样还不如自己去写整个系统。4,项目或产品的代码更容易维护;这里就是检查代码规范、代码注释等。使得代码尽量统一化,最理想的效果是看不出是哪个具体人写的,而是哪个Team写的。5,避免开发人员犯一些很常见,很普通的错误
Code Review的目的,我们就可以看看如何做Code Review了,但在做Code Review前我们还有事要做,所谓预则立,不预则废,就是说如果在进入Code Review之前我们不做些准备工作,Code Review很容易就变得没有意义或是流于形式,这在我们周围是有很多例子的啊。进入Code Review需要检查的条件如下:
a)?????? Code Review人员是否理解了Code Review的概念和Code Review将做什么
如果做Code Review的人员不能理解Code Review对项目成败和代码质量的重要程度,他们的做法可能就会是应付了事。
b)????? 代码是否已经正确的build,build的目的使得代码已经不存在基本语法错误
我们总不希望高级开发人员或是主管将时间浪费在检查连编译都通不过的代码上吧。
c)????? 代码执行时功能是否正确
Code Review人员也不负责检查代码的功能是否正确,也就是说,需要复查的代码必须由开发人员或质量人员负责该代码的功能的正确性。
d)????? Review人员是否理解了代码
做复查的人员需要对该代码有一个基本的了解,其功能是什么,是拿一方面的代码,涉及到数据库或是通讯,这样才能采取针对性的检查
e)?????? 开发人员是否对代码做了单元测试
这一点也是为了保证Code Review前一些语法和功能问题已经得到解决,Code Review人员可以将精力集中在代码的质量上。
3 Code Review需要做什么
好了,进入条件准备好了,有人在这些条件中看到Code Review这也不负责,那也不检查,不禁会问,Code Review到底做什么?其实Code Review主要检查代码中是否存在以下方面问题:代码的一致性、编码风格、代码的安全问题、代码冗余、是否正确设计以满足需求(性能、功能等等),下边我们一一道来。以下内容参考了《Software Quality Assurance: Documentation and Reviews》一文中的代码检查部分。
3.1完整性检查(Completeness)
代码是否完全实现了设计文档中提出的功能需求
代码是否已按照设计文档进行了集成和Debug
代码是否已创建了需要的数据库,包括正确的初始化数据
代码中是否存在任何没有定义或没有引用到的变量、常数或数据类型
3.2一致性检查(Consistency)
代码的逻辑是否符合设计文档
代码中使用的格式、符号、结构等风格是否保持一致
3.3正确性检查(Correctness)
代码是否符合制定的标准
所有的变量都被正确定义和使用
所有的注释都是准确的
所有的程序调用都使用了正确的参数个数
3.4可修改性检查(Modifiability)
代码涉及到的常量是否易于修改(如使用配置、定义为类常量、使用专门的常量类等)
代码中是否包含了交叉说明或数据
您可能关注的文档
- 2程序的灵魂.doc
- 2SQL2008数据库安装操作和附加.doc
- 2级考指导.doc
- 2第二三讲 绘制二维图形(一).doc
- 2考试笔试常见题.doc
- 3 2012 VB实验三 常用控件.doc
- 3 设置字段和字段属性.doc
- 3-条件语句.doc
- 3.1 02第二章 新的工程.doc
- 3.3解一元一次方程(去括号).doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 交流转辙机道岔动作电流故障曲线分析信号集中监测课件.pptx VIP
- 2025届东北三省三校高三下学期第一次联合模拟考试政治试题(原卷版+解析版).docx VIP
- 养老服务质量检测90项.pdf VIP
- 光谱分析图谱与标志.docx
- 2025新课标中考英语词汇.pdf VIP
- T_CNPHARS 0001-2025 群体药动学药效学分析标准操作规范.pdf VIP
- (2026年)血浆置换及血浆分离吸附护理要点PPT课件.pptx VIP
- 农村狗狗交配的全过程,让你看了有点不可置信.pdf VIP
- 医院培训课件:《死亡医学证明(推断)书》规范填写及死因链基础知识.pptx VIP
- 健康体检表样表最新文档.docx VIP
原创力文档

文档评论(0)