5 Reasons for Software Developers to Do Code Reviews (Even If You Think They're a Waste of Time)

The benefits of doing code reviews are far more than improved code quality. If someone on your team is reluctant to take the time to conduct a code review, print out this article and whack him over the head with it.

By
Mon, December 22, 2008

CIO — Everyone admits that doing a code review is expensive. It takes time, particularly when everyone is in a mad rush to get the software project finished and thrown over to the software testing department. It requires that people who aren't involved in a particular chunk of code drop what they're doing to pay attention to someone else's needs — Oh no, not another meeting?! And for some developers, it just seems like an opportunity for more office politics and backbiting.

A code review might generate an incremental improvement in the code, say those who are ready to "postpone" the code review meeting. But gosh, we're too busy for that. And what we have is good enough.

Oh yeah? If you think that all you'll get from running effective code reviews is slightly better software, you need to think again. Here's five not-so-obvious reasons for code reviews—and inspiration to put to work the advice in the other articles in this Running an Effective Code Review series.

1. Developers know their code will be evaluated, so they work harder.

"The most useful thing about a code review is the fact that the coder knows that someone is going to review the code," says Oliver Cole, president of OC Systems and also lead for the open-source Eclipse Test and Performance Tools Platform project.

It is rather like the final exam for a Calculus 400 class, Cole says. It doesn't matter if you take the exam, he points out. The exam adds no calculus learning, when the whole point of the class is to learn calculus. "The purpose of the exam is to make you study," he says.

The same thing applies to code reviews, explains Cole, perhaps even more so. "Computer programmers have large egos with respect to the code they produce," he points out, and caffeine-sodden programmers work late into the night because they are really into their work rather than motivated by money or other concerns. So a code review appeals directly to a developer's sense of personal pride.

"The biggest benefit of code reviews is that the coder really does not want any criticism of his code," says Cole. Knowing that the code will be examined by others encourages a developer to take the extra effort to do a good job. "The actual code review usually does not show up much (with experienced programmers). But much better code gets produced if the coder knows someone is going to criticize it," he adds.

Cole gets full agreement from Alex Russell, the mastermind behind the open-source Ajax Dojo toolkit, who is now at Google working on the Chrome Web browser. Code reviews have to be expected, he says. "Everyone needs to know that someone else will be reading their code and have realistic expectations about what that means," Russell says.

Aside: If it hasn't occurred to you that this "others will see my code!" point is a major reason behind the success of open-source code quality, you aren't thinking it through.

2. It improves a developer's own programming skills.

In your heart, you might not care that much about the success of this particular software project. But most programmers want to improve their personal skills, and that means learning from other people. There's no better opportunity for such enlightened self-interest than a code review.

For example, input from a good developer can make you more aware of what the programming language can do, says J Schwan, managing partner of Solstice Consulting, a Chicago-based technology management consulting firm. You'll learn to write more efficient code, and find out about other patterns available for organizing code.

Christopher Buchino, director of software engineering at GotVMail Communications also believes code reviews help the group to collectively learn from one another's mistakes and to become better programmers. Through straightforward feedback, he says, the company raises the bar set for its developers. "They appreciate it because they know it will make them better," he says. "When code is reviewed by the group, the team learns and grows, but what is even better is that the code becomes of higher quality and is easier to maintain."

Continue Reading

With 1.5 billion instructions in one second (BIPS), while consuming less energy than ever before, Wintergreen Research says IT departments need to sit up and take notice of this hybrid system that combines the System z with servers.
Learn how your answer to this question compares to your peers by taking this quick poll. See how your peers are dealing with the challenge of ensuring a highly capable server infrastructure as technological shifts impact the application server platform.
With increasing data growth, comes increased need for data security.  The existing DLP model, with a focus on compliance/enforcement is not sufficient as the data discovery and classification capabilities are not granular enough.  Read this paper to find how you can efficiently and accurately manage your risk by rapidly inventorying and classifying your data and then developing remediation workflows that support business needs. 
This paper breaks down attack sources into four categories: external, malicious insiders, accidental insiders, and unknown.
The rapid growth of data and technology is creating challenges for organizations as this digital data is considered to be business communications and must be preserved according the same industry-specific regulations governing the retention and discovery of emails and more traditional forms of electronic communications. This paper examines the role that Data Loss Prevention ("DLP") technology can play in helping organizations address the challenges of locating information in response to electronic discovery.
This research, conducted by the Ponemon Institute, focuses on issues relating to the use of data protection solutions such as endpoint encryption and data loss prevention within the workplace.
As greater numbers of datacenter servers transition from the physical to the virtual world, the components of virtualization success come to the fore. What scores of organizations have discovered is that success is derived from an optimal pairing of the right software platform with the right hardware platform.
Have you been looking to hear about customer's experiences with the new VMware vCenter Site Recovery Manager product? View this webcast to learn about VMware customer, Navicure, and their experiences testing and evaluating the recovery manager, their progress in implementing it in their environment and their advice other customers considering using vCenter.
Many enterprises have discovered that the use of virtualization to support desktop workloads creates a range of significant benefits. These benefits include price efficiencies, improved IT management and greater agility and choice for end users.

This VMware sponsored webcast with IDC will provide both quantitative measurement of the business value -- defined as the expected ROI -- and qualitative analysis associated with the use of VMware View™. IDC will also provide an analysis of the View Composer and ThinApp™ features of VMware View, including the business value of these solutions and an overview of how they work.

Attend this webcast to learn about:
- Challenges and barriers that might impede the adoption of desktop virtualization
- Navigating roadblocks to facilitate a strategic implementation
- Optimizing qualitative and quantitative benefits to IT and your business
VMware recently announced VMware vFabric™ Data Director, a new database deployment and operations platform that enables enterprise IT organizations to offer database as a private cloud service. Built on top of VMware vSphere 5, vFabric Data Director enables IT organizations to ontrol database sprawl through automation and consistent policy enforcement and accelerate application development cycles with self-service database management. Attend this webcast to learn how vFabric Data Director can help you build database-as-a-service in your datacenter.
A simple, cost-effective disaster-recovery solution for virtual environments is high on the agenda for IT organizations as they virtualize more business-critical applications with VMware. VMware vCenter™ Site Recovery Manager-the market-leading disaster-recovery product-ensures the simplest and most reliable disaster protection for all virtualized applications. VMware vCenter Site Recovery Manager provides centralized management of recovery plans, enables nondisruptive testing and automates site-failover processes.
Traditional disaster recovery solutions are often too expensive, complex and unreliable to meet business requirements. As a result, IT departments are hesitant to expand disaster protection beyond their most critical applications, largely because they are uncertain whether the quality of the protection is really worth its cost. VMware vCenter™ Site Recovery Manager 5 is the market-leading disaster recovery product that addresses this situation for organizations of all kinds. It complements VMware vSphere to ensure the simplest and most reliable disaster protection for all virtualized applications.
Newsletter Sign-Up »

Receive the latest news test, reviews and trends on your favorite technology topics

Choose a newsletter
  1. View all Newsletters | Privacy Policy
Sponsored Links
Resource Center