Making Code Review Software Tools Help, Not Hinder

Software automation tools can be a boon for developers who are preparing for a code review, and they can take away a lot of the bookkeeping drudgework. But don't expect software tools to replace human evaluation skills.

By
Mon, December 22, 2008

CIO — Among the admirable hallmarks of software developers is that they always write tools to automate the boring or repetitive stuff. Tools can certainly assist in the code review process—particularly in ensuring that the code adheres to corporate style, collecting metrics and applying departmental programming policies—but some caution that you shouldn't depend overmuch on them.

In particular, look at automated tools as a way to help collect and manage information before or during a code review, or learn the structure of the software—not to do the analysis for you. "Software will help the code review process, but initially your investment will be in trimming down the rule set to get the most value out of the tool," says Micheal Lalande, director of technology at QLogitek, a SaaS supply chain solution provider. "Work with the smallest set of rules as possible, so that you can tune out the noise. As you tune the rule set, you will find that software will become better and better within the organization."

The tools exist to automate the things that computers do better, such as checking naming conventions or comments, so developers don't have to waste their time on those details. "Some of these things can be caught by tools like FXCop, for instance, so a senior programmer and a group of peers should not be going over them," says Christopher Buchino, director of software engineering at GotVMail Communications.

J. Schwan, managing partner of Solstice Consulting, points out that while software can help automate the creation of unit test cases and ensure code coverage in unit test identification, the tools can't replace code reviews. "There aren't any tools to my knowledge that can offer perspectives on opportunities for code reusability and efficiency. This is where the human mind prevails over the CPU and should be leveraged accordingly," says Schwan.

Or to put it in different terms: Someone once asked Fats Waller, in the early days of boogie-woogie piano, how he kept the right hand from doing what the left hand was doing. He said, "That's what I'm in the middle for."

But do turn to the tools for where they can help the team. Lalande suggests you run all code through an automated tool as often as possible. "This will handle the low hanging fruit, and will train developers in best practices for development. Focus this automated review on rulesets that you care about, as most code review tools cover more non-functional requirements than you are concerned about in your project." Doing so reduces the size of the report and provides more relevant results. Plus, he says, "Review all automated test results before making changes. You cannot take the results of an automated code review tool as gospel. Since these tools are designed to cover general cases, there may be specific reasons that you are breaking those rules."

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
Resource Center