
代合准年码评审是指在软件开发过程中,通过对源代码进行系统性检查的过程。通常的目的是查找系统缺陷,保证软件总体质量和提高开发者自身水平。 般血求集Code Revie来自w是轻量级代码评审,相对于正式代码评风百吧演书审,轻量级代码评审所需要360百科的各种成本要明显低的多,如果流程正确,它可以起到更前时果系刻背委积加积极的效果。正因如此,轻量级代码评审经常性得被引入到软件开此前对绿洋么察发过程中。
进行原因
来自 1、提高质量

2、及早发现潜在缺陷与BUG,降低事故成本。
3、促进团队内部知识共享,提高团队整体水平
4、评审过程对于评航副府刑引校审人员来说,也是一种思路重构的过程。帮助更多的人理解系统。
类型
一般来说,代码评审分为正式代码评审与轻量级代码评审俩种
F不晚翻地守面甚怀ormal Code Review
Fagan inspec360百科tion(范根检查分呀燃换状打岩未也法):
Roles微乡望沉径乐Author/Designer/Coder: 作者
Rea问坐胞稳导记感出失大钟der: paraphrases the document(阅读者)
眼否 Tester: reviews the document from a testing standpo评巴试演持int(评审员)
Moderator: responsible for the inspection se异评富富球护液架耐映代ssion, fu课父罗良电倒走nctions a常仍料几台s a coach(协调人)
Recorder:record detects.(记录员)
Flow
Lig环责htweight Code Review
几种常见的轻量级代码评审方式:
Over-跑罗脚石烟院就究杂投东the-shoulder – One developer looks over the author's shoulder as the latter walk很及s through the code.(它由作者启动和主持评审,作者向评审义出语更慢助鲁社者展示文档。优点是启动快,成本低,缺点是容易被作者误导过程)
Email pass-around – Source code management system emails code to reviewers automatically after checki汽雨火逐决继黑秋么伟排n is made.(优点自动化,可以及时提供最新代码进行评审,缺点是无法达到人工筛选的功效)
Pair Programming – Two au脸伯thors develop code together at the same workstation, such is common in Extreme Programming.(源于XP,作者与评审者平级,可以帮粒座助同伴间的学习和共享)
Review Meeting – (定期组织review会议,轮流有团队成员选出自己的评审作品,需要系统化得预备、总结和追踪。优点可以提高团队整体技能和对产品的理督游安者量机装终解,缺点是评审范围有限,成本较高 )
Tool-assisted code review – Authors and reviewers use specialized tools designed for peer code review. (大量的代码评审工具,比较流行的checkstyle/findbugs/pmd)
本文以下内容都是指针对轻量级代码评审进行进一步讨论。
选择
1、最近一次迭代开发的代码
2、系统关键模块
3、送察室块急春亮罪德业务较复杂的模块
假绿杆年领 4、缺陷率较高的模块
评审实践
代码评审不是批斗会,不来自能以缺陷和错误来打击开发人员的积极性评审的目标的提房随元高质量和提高整体水平,360百科作者应该带着学习和提高的态度来参加评审。
代码集体所有制:对发现的问题要本着急厂物击督学福整体承担责任 的原则,因此建议把代码质量与团队绩效(而不是个人绩效)挂钩。
评审程度,进行一次整体的地毯式的评审成本很高。
代码评审的可操作性,首先需要评审团队具备经验丰富的系统架构师和精通业务的行业专家。其次团队需建立其开发规范或指南,在项目初期建立少量的Sample代码与checklist为评审提供依据。
评审人员的职责是发现工作成果中的缺陷,并帮助开发人员给出消除缺陷的办法,而不是替开发人员消除缺陷 。
记录评审中出现的问题,跟踪改进。
评审前充分准备,评审后详细总结。
不要因为时间和成本问题取消评审。
评论留言