October 7, 2019

Improving the new Plastic Code Review system: Part I

UPDATE October 7, 2019: We edited the post to include a link to the latest about the Code Review system.
UPDATE November 7, 2019: The new Code Review system is enabled by default!


As you probably already know, we are working in the new Code Review system.

A prototype is ready to use since release BL3388.

We are going to describe every new available functionality and improvement through an ongoing series of blogposts. So bookmark them and don't miss any news about the new Code Review system.

The new Code Review system is now enabled by default. Download 8.0.16.3708 or later.
The new Code Review system is not yet fully functional, but it should be much better already in its current form that the previous available one.

You can give it a try if you start your Plastic this way:

plastic --codereview

The Code Review system prototype

(Release 8.0.16.3388)

The prototype looks like this:

After launching the Code Review window, you are able to edit an existing code review.

Because the prototype, the comments won't be stored. The goal is just to try how good the new comment system works and get your feedback.

It is now finally possible to reply in comments:

And also create threaded conversations, something we always missed (and didn't find on competitors either):

This was just a first step to implement our Code Review vision 🙂

Create, edit and delete a code review

(Release 8.0.16.3400)

We removed the initial dialog to create the code review. Now, it will be created directly and users will be able to edit anything (title for now) in the Code Review window.

You can create, edit and delete a code review related to a branch or a changeset:

Change the assignee (reviewer)

(Release 8.0.16.3417)

You can change the assignee (reviewer) directly in the Code Review window. Let's see it in action:

Start conversations

(Release 8.0.16.3442)

The new Code Review system now allows to start conversations by using the Reply functionality.

You can check how it looks here, dealing with a conversation with several threads:

Choose the comment type

(Release 8.0.16.3458)

The new Code Review system now allows the reviewer to choose the comment type when adding a new comment. This way, the reviewer can:

  • Request a change - This means that a change in the code is needed.
  • Ask a question - This comment needs to be answered, but no change is required initially.
  • Or simple write a regular comment

Also we added the possibility of discarding requested changes.

Visualize changes in the comment list

(Release 8.0.16.3458)

The new Code Review system now allows to visualize the change requests in a list. The reviewer can request changes to indicate that a change in the code is needed:

You can navigate to the related comment by double-clicking the request in the list.

If the coder clicks Reply this comment, the status of the change request keeps as "Pending". If the coder clicks Discard this comment, the new status of the change request is "Discarded":

See how to apply the requested change.

Visualize comments

(Release 8.0.16.3458)

The new Code Review system now allows to visualize comments that are located in revisions that are not loaded by the diff window. Let me show you the following example to explain you how this feature works:

  1. You applied changes in file AssemblyInfo.cs:
  2. The reviewer creates a new code review to the branch and enters a comment:
  3. Then, someone else (or just yourself), applies another change to the AssemblyInfo.cs file:
  4. If you open the code review, you will see your changes and the reviewer's comment in the list:
  5. And if you double-click the comment to check the reviewed code, a new panel appears with three actions:
    • Revision with comments - The diff shows you the differences between the base revision and the revision where the reviewer entered the comment:
    • Last in branch - The diff displays the differences between the base revision and the last revision in the branch:
    • Diff with head - The diff shows you the differences between the revision where the reviewer entered the comment and the last revision in the branch:

Note that the same functionality works with added (single contributor) files.

Stay tuned

We are still working on the Code Review system to offer you the best way to work with it. And we are publishing more news about it. I invite you to read more about the latest features in the Code Review system.

If you have any questions or suggestions, please share them with us all in the comments on this post. Your feedback is more than welcome and really important to us.

No comments:

Post a Comment