Code review
InQUIRI
Review of Please provide a PDF documenting this review. Here is the guidance provided on the USGS software management page:
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.
Review Checklist
Please check off boxes as you complete each check. If any issues are found for a given check, describe in comments below
General checks
-
Repository: Check if the source code for this software is available -
License: Check that the repository contains a plain-text LICENSE file -
Disclaimer: Check that the repository has the USGS-required provisional Disclaimer -
Contribution and authorship: Check that the submitting author made major contributions to the software -
Contribution and authorship: Check that the full list of software authors seems appropriate and complete -
Metadata: Check that the repository has a code.json file
Documentation
-
A statement of need or purpose: Check that the authors clearly state the scientific purpose or what problems the software is designed to solve -
Installation instructions: Check that there is a clearly stated list of dependencies. Ideally these should be handled with an automated package management solution. -
Example usage: Check that the authors include examples of how to use the software (ideally to solve real-world analysis problems) -
Functionality documentation: Check that the core functionality of the software is documented to a satisfactory level (e.g., API method documentation) -
Community guidelines: Check that there are clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support. This information could be found in the README, CONTRIBUTING, or DESCRIPTION sections of the documentation.
Functionality
-
Installation: Check that the installation succeeds as outlined in the documentation -
Coding standards: Confirm that coding standards are appropriate -
User input cleansing: Confirm that user input has been cleansed -
Memory leaks: Check for memory leaks -
Vulnerabilities: Check for vulnerabilities within the project -
Optimizations: Check that the code has been optimized, as appropriate
Review Comments
- [Add any review comments here]