Code Review
Code reviews ensure structural code quality and should be performed frequently throughout the stages of software development. This might mean different things depending on the individual project/team but some typical quality checks include:
Coding standards
Unit tests passing
User input cleansing
Memory leaks
Vulnerabilities
Optimizations
Code reviews should be performed by a trusted developer with applicable programming knowledge. This person need not have thorough subject-matter knowledge on the science topic.
Tools such as linters can automate parts of code review, freeing the human reviewer to focus on the substance of the code. For more information, refer to the automation section on the (Refer to Test).
Code review must be applied at Scientific Software Stages:
Approved software