Importance of code reviews in software development.
Code review is the act of consciously and systematically convening with one’s fellow programmers to check each other’s code for mistakes and has repeatedly shown to accelerate and streamline the process of software development like few other practices can. Whether you are a software development manager or a programmer in the trenches, you may be ignoring the tremendous benefits of code review or code inspections at your own peril.
The importance of code review is diverse as the environment in which they are conducted. However, almost all code reviews have these goals in common:
The expense of developing software is not just in its initial creation but the ability of developers to use and modify the existing code in the future. Software is extremely difficult and expensive to maintain. This occurs mostly when a developer leaves a project and a new developer arrives. Maintainability is generally achieved by code organization and adequate comments. A person involved in the project should be able to read a portion of code and understand what it does, see the constraints and the preconditions of its use and contextual information.
It's cheaper to find bugs
Did you know that the earlier a bug is found the cheaper it is to fix? Fixing a bug in Quality Assurance (QA) is more than twice as expensive as fixing it in development. Just as we have trouble seeing “obvious” mistakes in our writing, developers frequently make simple errors that are easily and quickly caught by external review. A code reviewer will look for common bugs, especially those that are notoriously difficult to find after-the-fact. These include thread synchronization, dealing with error conditions correctly and completely, security problems and ensuring that unit test cover all code paths, error cases and limit cases.
Platform for learning and sharing
Every project is a host of unwritten rules and tacit understanding. This institutional knowledge must be transferred to all new team on the project. The inductee must acquire information in the first months of the project usually elicited from the experienced developers whenever he/she makes a mistake. Code review can facilitate the communication of institutional knowledge as it relates to code written by the new team. Experienced team members have the opportunity to impart their wisdom and advice hence code review becomes a learning and sharing platform. From www.trendpro.co.ke