Skip to content

Code review

Review of InQUIRI

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]
Edited by Hempel, Laura Alina