Freigeben über


New Code Review feature in Visual Studio 2012

Editor’s note: The following MVP Monday post was written by Visual Studio ALM MVP Esteban Garcia

Code reviews are a critical part of software development. Not only do they help you keep you defect-count down, they are also a great way to learn from other people's code. Code reviews also allow teams to communicate changes to the application with their peers.

There have been a few different ways to incorporate code reviews into Visual Studio in the past, including some third party components. For the first time, Visual Studio 2012 includes a Code Review process out of the box by leveraging the Team Foundation Server Work Item Tracking system along with the use of shelvesets. All the information is easily accessible through the redesigned Team Explorer window and Team Foundation Server Web Access. This allows code reviewers to compare code files, annotate them, and send comments back to the requester.

 

This process is supported through the use of the Work Item tracking system in TFS. Two new Work Item Types were introduced:

- Code review request: when the code review is created, it goes into "requested" state, and when the process is complete is closed.

- Code review response: It gets created when the code review request goes out. If the code reviewer accepts the request it moves to accepted, and when the reviewer completes his or her work, it gets moved to closed.

The fact that Work Items are used opens up a lot of possibilities from a traceability perspective since we now can not only trace the coding task that is associated to a code check-in, but we can also associate all related code reviews.

 

Now let’s take a look at how this is implemented in Visual Studio 2012. I used the light and dark color schemes to differentiate between the person requesting the code review and the person reviewing the code.

When developers complete coding some functionality, they can click on the “Request code review” link on the Home tab or the My Work tab in Team Explorer:

clip_image001  clip_image003

That brings you to the “New Code Review” dialog where you can enter the following information:

- Name of one or more code reviewer

- Code Review subject

- Area Path

- Code Review Description

You can also list any related work items to the code review. By default, the work items that show up as“In Progress” under the “My Work” tab will show up in this list:

clip_image005

 

Once the code review is requested, all team members that were entered as reviewers receive an alert. The code reviewer can see all the information about the code review in Team Explorer:

- Who requested it?

- What team members were added as reviewers?

- Related Work Items

- Comments

- Changed files

clip_image007

The reviewer first signals that he or she is working on the review by clicking on the “Accept” link. This tells other reviewers that the review is already in progress. Then, the reviewer clicks on each changed file and the file comparison window comes up:

clip_image009

 

The reviewer can annotate this comparison or can add an overall comment from Team Explorer:

clip_image011

 

All comments are stored with the code review and sent back to the developer that requested the code review. Once the review is complete, the reviewer marks the review as complete by giving it a status of“Looks Good”, “With Comments” or “Needs Work”.

clip_image013

 

The person that requested the review can now see the Code Review Request work item along with any information entered by the reviewer:

clip_image015

 

Once the changes are checked in, as you can see here, the Code Review request (ID 1619) is associated to the changeset.

clip_image017

 

About the author

Esteban

Esteban Garcia is a Solutions Architect and ALM Consultant at AgileThought, Microsoft Visual Studio ALM MVP, ALM Ranger, Telerik Insider, and president of the Orlando .NET User Group. He has over 13 years of professional experience in software development, working in all phases of distributed object oriented enterprise application development and design using Microsoft technologies. Esteban excels in architecture and best practices and is passionate about Scrum and SDLC improvements using Visual Studio and TFS. Esteban also has a BS degree in Computer Engineering from the University of Central Florida.

Twitter: @EstebanFGarcia

Blog: https://estebanfg.blogspot.com/

 

MVP Mondays

The MVP Monday Series is created by Melissa Travers. In this series we work to provide readers with a guest post from an MVP every Monday. Melissa is a Community Program Manager for Dynamics, Excel, Office 365, Platforms and SharePoint in the United States. She has been working with MVPs since her early days as Microsoft Exchange Support Engineer when MVPs would answer all the questions in the old newsgroups before she could get to them

Comments

  • Anonymous
    September 10, 2012
    So I have the dread "trial of this product will expire in 30 day(s)" dialog waiting for me to enter a product key. . .  What do I do now, again?    Thanks, Jim Thompson Ghent, Belgium

  • Anonymous
    September 10, 2012
    Thank you so much Esteban Garcia to explain in details... its really cool feature......

  • Anonymous
    September 10, 2012
    need help for visual C#................................

  • Anonymous
    January 23, 2013
    Can anybody tell me how can I add reviewer in reviwer list. I tried to enter my team mate in reviewer textbox, but it is giving error as added reviewer name is not present in reviewer list. My team mate is member of TFS project as well as he is admin for that project in TFS. Thanks

  • Anonymous
    April 10, 2013
    The comment has been removed

  • Anonymous
    October 09, 2013
    Great explanation! Screenshots are very helpful. Thank you!!

  • Anonymous
    October 28, 2013
    How about a review that takes several iterations? As far as I can see, each iteration is a new request. Which means the reviewer can not directly see the review comments from previous iterations.

  • Anonymous
    December 09, 2013
    Looking for the answer of Carsten's question.

  • Anonymous
    January 15, 2014
    When I use the Code Review Request it picks up only the modified files. I need to send all previously checked in files from a Project for review. Is there a way I can Send the entire project for review ?

  • Anonymous
    April 04, 2014
    Does everyone on the team have to have VS2012 Premium/Ultimate for the team to do code reviews? In my opinion, this should have been a base feature of 2012 Professional. Premium and Ultimate are hugely more expensive just for this one, typically standard, software development feature. Could I get by with having, say, 1 Premium/Ultimate license for the lead and only professional licenses for the developers?

  • Anonymous
    April 09, 2014
    code for report visual studio 2012 please help me

  • Anonymous
    May 23, 2014
    The comment has been removed

  • Anonymous
    February 25, 2015
    Is this feature not available in professional edition ?

  • Anonymous
    March 01, 2015
    Good visual studio 2012 Thanks for you visual studio review very important easy!

  • Anonymous
    March 15, 2015
    Hi Can anyone tell, this feature is available in VSTS 2012 Professional edition or not ?

  • Anonymous
    July 19, 2017
    Where are the settings for the the "code review" engine - when to ignore whitespace, font, color, etc?