Code Review Process
Step | Authors | Reviewers |
---|---|---|
Keep in mind | - Document and standardize the code review process. - Ensure that the purpose of code reviews is clear to everyone. - Ensure “Definition of Done” is documented and clear. - Encourage team participation in reviews. - Define a conflict resolution process. - Have a definitive style guide. - Use automation (linting, sniffing). - Set clear review turnaround expectations. - Prioritize and provide time for code reviews. - Promote knowledge sharing and learning. - Encourage reviewing unfamiliar areas. - Continuously improve the review process. - Recognize quality reviewers. - Promote collaboration, not one-way critique. - Hold regular review discussions. - Encourage feedback during development. | Same as Authors |
During Development | - Follow coding standards. - Be consistent with architecture/design. - Write failing test if fixing a bug. - Break down PRs into manageable units. - Consider system-wide impact. - Note concerns/questions for review. - Write automated tests. - Write or update documentation. | |
After Development | - Self-review the code. - Ensure completeness (tests, docs). - Test in development environment. - Check coding standards and best practices. - Identify and note performance/security concerns. - Add descriptive title, PR info, screenshots if needed. - Approach review openly and collaboratively. | |
During Code Review | - Understand the change requirements. - Prepare a checklist based on requirements. - Understand the codebase and architecture. - Review supporting docs/specs. - Identify risks or edge cases. - Provide constructive, collaborative feedback. - Evaluate code quality (readability, maintainability). - Assess review depth based on scope/impact. - Collaborate respectfully with author. - Be clear, specific, and actionable in feedback. - Raise performance/security/scalability concerns. - Prioritize major issues first. - Review test coverage and edge cases. - Ensure coding standards compliance. - Confirm documentation is updated. - Follow team style guide, not personal preference. - Use “Nit” for minor suggestions. - Focus on improvement, not perfection. - Balance short/long-term impact. - Use pair programming when needed. - Offer positive feedback too. | |
After Code Review | - Resolve conflicts quickly. - Address all feedback points. - Update code as per suggestions. - Rerun and pass tests. - Clarify any doubts or issues. | - Resolve conflicts quickly. - Verify all feedback was handled. - Review updated changes. - Rerun and pass tests. - Answer author’s questions. - Be flexible to refine own feedback. |
After Approval | - Merge code into main/feature branch. - Verify functionality in production. - Monitor performance and resolve issues. - Celebrate completion! |