Compared to other development activities, code review tends to have less published resources available to help developers stay abreast of the latest review methods, tooling, and best practices. Arming developers with the knowledge of code review tools and techniques can increase efficiency and reduce the painfulness of the code inspection process. Making checklists, delegating roles, and implementing reading techniques help developers conduct more focused code reviews, resulting in higher code quality. Code review and inspection doesn’t have to be manual in all areas. Compiler warnings, static analysis software, and
issue/defect tracking can make reviews and inspections more efficient, structured, and semi-automated. A code review toolset is also a blessing to the reviewer who hates to read code that hasn’t been properly prepared.
Preparation, Inspection, Rework, and Follow-up are generally the four stages of code review. In the Preparation stage, you determine inspection/review targets and the roles for each participant. Reading techniques should also be specified at this stage. In the Inspection/Defect Detection stage, each inspector looks for defects according to their assigned role and perspective. In this stage, compiler warnings, static analysis tools, review tools, and defect tracking tools are put to use. These tools organize defects for the Rework stage, which is when reviewers go back and fix defects. Finally there’s the Follow-up stage where corrections are verified and reviewers make sure that new bugs haven’t been introduced. Defect tracking and review tools are used here too. That was a quick run-through. Now let’s look at some of the techniques and tools in detail for each of these stages.