Code Reviews : Different Types

Automated Reviews

Automate the review where possible. A review conducted by a computer has several benefits:

  • Reduced manual cost of code reviews
  • Fast, consistent, and repeatable
  • Removes emotion from the reviews: pride, ego, and ownership need to be constantly recognized when conducting a review. When offering a critique you should take care to not to step on the author’s feelings. Using an automated process abdicates this responsibility.
  • In some cases you have tools that allow for real-time reviews, such as the Eclipse plug-in CodePro Analytix. These tools perform an examination of the code as it is being written. This is the holy grail of fixing broken windows.

The benefits notwithstanding, it must be acknowledged that the scope of automated reviews is limited to rules and conventions and are hard to extend to study business logic. The latter have to be handled by manual (or peer) examination.

Manual Reviews

From the prior sections you have seen that interactive and build-time tools at your disposal, while a great boon to the review process, cannot substitute for manual review for a certain class of problems. You have to manually review for certain types of improper coding practices. Tools cannot highlight errors of omission as described in the earlier section. Given that, let’s see how a manual review must be conducted.

Participants: The review must focus on different facets of code correctness. Therefore, the participants of a code review must be chosen to satisfy a diverse set of roles.

  • Technical lead: S/he plays the role of the facilitator and moderator
  • The author(s)
  • Quality Assurance: This role focuses on ensuring that the code under examination satisfies the set standards
  • Functional expert: The person who is an expert in the business domain being reviewed

How to conduct: The technical lead will work with the authors to coordinate the review. This process includes:

  • Identifying the participants in the review
  • Determining the amount of preview time
  • Providing the participants the necessary information
    • Requirement/bug fix that was implemented
    • CVS location of the files affected. The lines in the file that were affected by this change.
    • Project reports with coverage and complexity details
    • Review time duration
  • Setting up a meeting to discuss the results of the preview
    • Moderate the meeting – During the actual review the authors will describe the intent of the code and provide an overview of the implementation before the code is examined
    • Capture comments
    • Repeat above steps if necessary
Advertisements

2 Responses

  1. Hello webmaster
    I would like to share with you a link to your site
    write me here preonrelt@mail.ru

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: