Effective Code Review
Kimberly Myers
Posted on September 16, 2024
Purpose of Code Review
Although the main objective of code review is to identify defects before promotion, it also aims to improve code readability & maintenance, and to facilitate knowledge transfer, helping developers enhance their skills and become better programmers.
Establish Processes, Standards and Tools:
- Create documentation for code review standards.
- Implement tools (e.g., StyleCop, CodeQL, Linter) to enforce style and rules for consistency and automate security checks.
- Set up a process for generating code review requests, also known as Pull Requests in Git.
Pre-Review Preparation:
- Review the requirements outlined in relevant documentation
- Review the description of the code review request to understand the purpose of the change.
- Examine commits, files changed, and comments to identify the code changes you are reviewing.
Code Review Process:
- Focus on reviewing only new code or changes to existing code.
- Check the functionality of the code to ensure it works as intended as well as test or debug the changes, if possible, to verify they meet the requirements.
- Ensure the code structure is maintainable, readable, testable, portable, reusable, and adheres to coding standards. The code should be clean, well-organized, and follow best practices.
- Verify that the code properly handles errors and identify potential exceptions or issues, such as null references or file locks.
- Evaluate the code for potential performance issues and security vulnerabilities, such as high memory usage, hard-coded credentials, SQL injection risks, and HTTP redirects.
- Check for thread safety to identify code that could potentially cause deadlocks or race conditions.
Feedback and Discussion:
- Provide positive feedback, be specific and clear in your comments.
- Offer suggestions for improvement and explain why the changes are needed.
- Encourage discussion to foster better solutions and learning opportunities.
Post-Review Follow-Up:
- Follow up to ensure the suggested changes are implemented and provide appropriate approval as necessary.
Keep in mind that there are multiple ways to approach a coding task, however there's always an opportunity to improve and learn.
💖 💪 🙅 🚩
Kimberly Myers
Posted on September 16, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.