Code Review
Note
Please read about code reviews in general first.
Code reviews are performed with pull requests. When a change completed and ready to be merged back into main codebase, regardless of the chosen branching strategy, pull request has to be created, which needs to go through the review process before being approved.
Pull request
Before a pull request is created, be sure that your changes do not break the code and pass all the tests. To help with the necessary checks, use below pull request template. Follow this article to set up pull request template for the project.
# Description
Please include a summary of the changes.
# Checklist:
- [ ] My code follows the guidelines of this project
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
As a requester
When you create a pull request:
- Ensure that it is created between the right branches.
- Verify all your changes are included.
- Run all local tests to ensure that all pass.
- Fix all build and linter warnings in advance.
- Link the pull request to the task that you were working on, if it's not done automatically by the system.
- Assign the pull request to another team member for review, if it's not done automatically by the system.
- To ease the administration, set auto-completion. Delete the source branch and complete the associated work items when pull request is being approved.
- Ensure that your code follows the guidelines.
- All comments are resolved.
As a reviewer
When you review a pull request:
- Ensure code quality.
- Verify that each required functionality is implemented.
- Assess readability of the code.
- Check for security vulnerabilities.
- Confirm adequate documentation.
- Consider speed and performance, check for poorly written parts which can be improved.
- Add your findings as comments to the pull request.
- Approve a pull request only when all comments resolved and quality standards are met.