VS11之代码评审

开发 后端
在从Visual Studio 2010升级到Visual Studio 11后发现新的TeamExplorer界面中多出了一个Code Review & Requests功能区,这是Visual Studio 11提供的全新的代码评审功能。

  记得刚成为开发团队一员的时候,Team Leader总是对我提交的代码逐行进行检查,确保没有重大问题后才容许提交进入代码库,在这过程中我的代码中很多缺陷被发现,有的缺陷非常复杂,并且是正常测试用例所覆盖不到的,这意味着一旦在生产环境中运行,可能会带来严重的后果。后来才知道这个过程叫做代码评审,随着开发经验的丰富,也经常对其他人的代码进行评审,这个实践在开发经历中一直得以保持。

  代码评审最常用的方式就是文章开头提到的那样,由专人进行逐行查看,有的团队会采用团队集体评审的方式进行,但也都是基于手工操作的模式,其***的问题就是效率比较低。当我把需要入库的代码交由Team Leader评审的时候,不仅需要把整个工程打包并通过FTP传给他,还要准备一个预评审文档对本次提交的代码进行补充说明(注释经常不能详细说明一个复杂场景),Team Leader也不会立即对我的评审请求进行反馈,他通常在下班前才会做这件事,并且经常要把我叫到他的电脑旁进行询问,这个期间我常常在惴惴不安中度过。

  在从Visual Studio 2010升级到Visual Studio 11后发现新的TeamExplorer界面中多出了一个Code Review & Requests功能区,这是Visual Studio 11提供的全新的代码评审功能。

 

  下面我们通过一个简单的场景来验证一下这个功能:

  步骤1:开发人员Peter已经完成了一个功能点,在把修改过的代码检入TFS之前发起代码评审流程:

 

 

  Peter需要选择哪几个评审人对他的代码进行评审,也可以根据某种条件由系统缺省指定;输入本次评审的名称以及描述等信息。

  步骤2:评审人William会收到一封邮件,描述了本次评审的发起人,工作内容链接以及其他相关信息

 

  步骤3:评审人William可以直接点击邮件中的链接,系统会自动打开Visual Studio集成开发环境,并定位到Code Review标签页,他可以选择接受(Accept)或者拒绝(Decline)这个代码审查任务:

  步骤4:William点击Accept后,开始审查代码

 

  评审人可以点击Code Review中涉及的文件,看到了文件被修改的具体情况

 

  评审人可以对其中的某一行代码添加注释

  评审人也可以在对每个代码变更行添加注释后,写一个总的Review注释

  完成评审后,评审人可以向评审发起人提交评审结果

  步骤5:评审发起人Peter收到评审更新的邮件通知,看到评审人William的评审意见后进行相应修改,然后再将修改后的结果告知评审人。

 

  Peter收到William添加注释的Code Review 通知,直接在邮件中打开链接进入Visual Studio集成开发环境中看到William的注释

 

  Peter点击***个William的注释,可以看到注释所对应的代码行 - 第4行被高亮显示

  Peter点击第二个William的注释,可以看到注释所对应的代码行–第10行被高亮显示

 

  Peter根据William的反馈修改相应代码

 

  Peter修改完成后,回复William的注释,告知意见被采纳

  步骤6:评审人William收到评审意见已经被采纳的邮件通知,打开Visual Studio集成开发环境确认Peter已经完成了相应修改,批准通过了本次代码评审工作;最终当所有评审人都批准了本次代码评审工作,评审工作发起人Peter可以结束本次评审。

 

  William收到Peter回复注释的邮件,被告之修改意见被采纳

 

  William批准通过了本次代码评审工作

 

  Peter待所有审批人都完成代码评审后(本例中只有William一个评审人),关闭此次评审请求

责任编辑:鸢玮 来源: 51cto.com
相关推荐

2012-03-26 10:47:20

Visual Stud微软开发

2012-04-25 11:21:41

Visual Stud

2012-08-10 14:59:01

代码

2021-04-22 15:08:01

代码评审邮件

2012-09-03 13:41:50

Code Review

2017-09-16 18:29:00

代码数据库线程

2023-05-04 08:02:13

2020-12-17 09:32:38

VS Code代码编程

2013-07-18 16:40:41

Android游戏iOS游戏手游

2009-07-24 17:35:24

2009-12-04 10:16:52

VS HTML设计器

2009-12-04 09:51:32

VS XML注释

2009-12-04 10:43:53

VS部署

2019-05-24 08:48:33

JSONJacksonJSONP

2014-07-31 15:42:51

2023-01-29 16:15:59

开源代码

2013-08-20 11:08:34

Firefox OSASM.JSDalvik

2020-06-12 10:34:49

Android 11iOS功能

2013-09-25 10:06:49

桌面虚拟化Persistent

2009-12-04 10:28:48

VS宏代码
点赞
收藏

51CTO技术栈公众号