Devart Blog

ALM Team posts

Evaluating Developer’s Performance in Code Review Process

Posted by on December 22nd, 2014

Summary: This article describes how to estimate the coverage with code review of code written by individual developers.

The article builds upon Estimating Coverage of Project’s Source Code with Code Review. As from version 2.6, Review Assistant, Devart’s code review tool, provides the new Code Coverage report. Developed in response to numerous requests from our customers, the report serves for a better quality control over the code review process. Within the context of this article, we would like to show how to:

  • Evaluate team performance in the code review process
  • Evaluate individual developer’s performance (more…)

Estimating Coverage of Project’s Source Code with Code Review

Posted by on November 27th, 2014

Summary: This article describes how to estimate the project’s source code coverage with code review. The article also gives an outline of how to make the most from Review Assistant’s Code Coverage report.

As from version 2.6, Review Assistant, Devart’s code review tool, provides the new Code Coverage report. Developed in response to numerous requests from our customers, the report serves for a better quality control over the code review process. Within the context of this article, we would like to show how to effectively use the tool. In particular, we will elaborate on how to:

  • Exclude excessive data from a report with filtering
  • Group report data
  • Interpret report results

(more…)

WPF: Smooth Scrolling With UI Virtualization

Posted by on May 27th, 2014

During the development of Review Assistant, we encountered a significant performance problem with displaying 100+ comments in one list, as creation of each comment takes a considerable amount of time. At first sight, it seemed that enabling virtualization would fix the problem, but we faced the following obstacles:

  1. When scrolling, the elements jump form one to another without any smoothness. In addition, the thumb height begins to change in size, what looks just weird.
  2. When selecting IsPixelBased in true, the elements are scrolled smoothly, but a lot of them begin to lag. And the worst thing is that sometimes the application crashes with StackOverflowException. The crash is caused by the code in the VirtualizingStackPanel.MeasureOverrideImpl method, where the tail call is used, and the call depth is not limited by any means.

In addition, we wanted to display elements of different types (reviews and comments) in the list. It can be solved by the usage of TreeView instead of ItemsControl and by specifying several HierarchicalDataTemplates. But the above-mentioned problems still persist.

(more…)

Creating TFS Custom Check-in Policy – Part 2

Posted by on April 23rd, 2014

This is the second article of the two-part series that explains implementation of the TFS custom check-in policy for pre-commit code review. We developed this policy for Review Assistant – our code review tool.

In the first article we explained what is a check-in policy and what is the implementation procedure. This article shows nuts and bolts behind our implementation of a check-in policy.

In this article, we shall discuss:

  • The algorithm of our Pre-Commit Code Review policy;
  • Main problems of implementing the algorithm;
  • Restrictions of the policy implementation.

(more…)

Creating TFS Custom Check-in Policy – Part 1

Posted by on April 23rd, 2014

This is the first article of the two-part series that explains implementation of the TFS custom check-in policy for pre-commit code review. We developed this policy for Review Assistant – our code review tool.

Idea Behind the Implementation

A while ago a user posted an idea on the Review Assistant forum on UserVoice:

“I setup a build management in TFS server and add a build check-in policy to TFS, and now every check-in has to have a successful build, otherwise you cannot check-in.

It’d be great if we can setup a custom policy to TFS that every check-in needs to pass a code review. So, instead of developers having to shelve their changes manually and assign the shelveset to a code review, if this tool can do that automatically for you in a check-in process, that’d be super.”

Other users supported this idea so we decided to implement it.
(more…)

Integrating Review Assistant with Jenkins

Posted by on February 6th, 2014

Summary: This article contains information on how to integrate the Review Assistant code review tool into Jenkins by using MSBuild target.

This is the third article in a series of Integration Review Assistant with Continuous Integration Systems. Read the Integrating Review Assistant with MSBuild and Integrating Review Assistant with CCNet articles to get an additional information about the integration with continuous integration systems. (more…)

Integrating Review Assistant with CCNet

Posted by on February 5th, 2014

Summary: This article contains information on how to integrate the Review Assistant code review tool into CruiseControl.NET (CCNet) by using MSBuild target.

This is the second article in a series of Integration Review Assistant with Continuous Integration Systems. Read the Integrating Review Assistant with MSBuild and Integrating Review Assistant with Jenkins articles to get an additional information about the integration with continuous integration systems. (more…)

Integrating Review Assistant with MSBuild

Posted by on January 28th, 2014

Summary: This article contains information on how to integrate the Review Assistant code review tool into an MSBuild-based build environment.

This is the first article in a series of Integration Review Assistant with Continuous Integration Systems.

Why Use Continuous Integration?

If several developers are working on the project, from time to time they need to integrate their changes to the project’s code base. The developers also need to run builds to check if the new or updated code can be build successfully. These builds are called integrated builds. Normally, they are performed with a specified schedule.
It is quite difficult to find errors that occur in integrated builds that are performed occasionally, since the number of code changes introduced between the previous and current builds may be huge. To reduce the number of bugs in integrated builds and to make it is easier to find errors, integrated builds should be performed as often as possible. At the best case, builds should be performed right after the source code has been modified and reviewed.
(more…)

Agile Code Review Process with Review Assistant

Posted by on October 9th, 2013

Summary: This article describes a scenario of Review Assistant usage in agile development process. The peculiarity of this scenario is that every team member is allowed to join a code review.

Some time ago we received the following question through our technical support:

Hi guys!
Our company is currently evaluating Review Assistant, we are using ‘Simple review workflow’ in our project.
The issue is there is no way to create review without assigning a reviewer to it. This doesn’t allow us to use agile process, when anyone who is available can join a review.
Is there any way to create review in current version?

(more…)

Tweak for ‘Simple Review Workflow’

Posted by on September 18th, 2013

Summary: In Review Assistant 2.0 we have modified the simple review workflow. Now it is possible to add a code-related comment and accept author’s changes, and at the same time leave the review open.

 

This is the fifth article in the series of What’s New in Review Assistant 2.0

How does simple review workflow work?

There are three review roles by default:

  • Author — the person who creates code.
  • Reviewer — the person who inspects code.
  • Moderator — the person who double checks a review and settles disputes.

Here is how it looks like in the application:

(more…)