Science and Technical Review#
Tip
GitHub documentation on the review process and interface: Reviewing Proposed Changes in a Pull Request
Purpose of the review#
The purpose of code review is to ensure that the code does the job it says it performs, is standards compliant and well documented.
Focus on the code, not the contributor; providing constructive, respectful and actionable feedback. Critique the implementation, not the individual and always explain the reasoning behind your suggestions.
Reviewer responsibilities and checkpoints#
The pull request template that populates the pull request description box contains a SciTech Review section with questions to help you think through all the areas of concern. This SciTech Review section should be completed once you are finished.
The Science / Technical reviewer should
Understand the area of code and check that the changeset satisfies the purpose of the change.
Ensure that the code has no unwanted side-effects
Ensure that the code is written to the standards laid out in Fortran Coding Standards or LFRic Coding Styles (which build on the first).
Make sure that the in-line documentation is accurate and sufficient.
Ensure that any related external documentation is updated as necessary.
Check that the pull request has been completed fully and accurately with sufficient detail for others to understand the impact of the change.
Ensure that testing has been carried out satisfactorily (and recorded on the pull request), and that there is no impact for configurations outside the required scope of the changeset.
Final decision points and actions#
The SciTech reviewer must demand that non-compliance is corrected before a change is passed onto the next level of review.
The pull request will likely iterate between the reviewer and the developer during the review process while retaining it’s SciTech Review status.
Once you are happy that the change is appropriate and correct:
Ensure the the SciTech parts of the pull request template have been completed.
Leave an approving review
Change the review state to Code Review
Request the review of the nominated Code Reviewer (or leave them a message with
@usernameif their review has already been requested)
These steps are covered in more detail as part of the Review Process