Software release: Code review
Code reviews ensure structural code quality and should be performed frequently throughout the stages of software development. Follow the checklist below.
Review checklist
Background information for reviewers here
Reviewed by @jzemmels
Please check off boxes as applicable and elaborate in comments below.
Conflict of interest
-
I confirm that I have no COIs with reviewing this work, meaning that there is no relationship with the product or the product's authors or affiliated institutions that could influence or be perceived to influence the outcome of the review (if you are unsure whether you have a conflict, please speak to your supervisor before starting your review).
Adherence to Fundamental Science Practices
-
I confirm that I read and will adhere to the Federal Source Code Policy for Scientific Software and relevant federal guidelines for approved software release as outlined in SM502.1 and SM502.4.
Metadata
-
Includes the following up-to-date files: -
README: General information about the code repository -
DISCLAIMER: The provisional version of the USGS software disclaimer -
LICENSE: describes terms of Creative Commons (CC0) license -
code.json: software metadata -
CONTRIBUTING (suggested) -
CODE_OF_CONDUCT (suggested)
-
-
In the README: -
The IPDS number is included. -
All authors/collaborators are cited. -
There is contact information for the lead/senior author. Other author contact is optional. -
There is a citation listed, with Digital Object Identifier (DOI). Placeholders are acceptable. -
There is a statement estimating the time it takes to run the code.
-
-
The problems the software is designed to solve and the target audience are clearly stated. -
The code appears to do what it is meant to. -
All code files can be found. -
There is a clearly-stated list of dependencies (ideally, handled with an automated package management solution).
Readability
-
The organization of the code is appropriate. -
The code can be understood. -
There is an adequate number of comments -- not too many or too few. -
Repeated code is written in a concise way (e.g., iteration or functions). -
The code is readable. -
The format style is consistent (e.g., spacing, indentation).
Quality control
-
The code incorporates error handling appropriately. -
Tests have been conducted throughout software development to test code quality. -
Code analysis has been conducted to flag programming errors, bugs, stylistic errors, etc. -
There are no hard-coded numbers or values that have not been clearly identified (i.e., "magic numbers"). -
Comments are free of errors.
Review Comments
- Add free text comments here.
Reviewer checklist source statement
This checklist was adapted from one developed by the Volcano Science Center (link). It combines elements of the rOpenSci review guidelines and the Journal of Open Source Science (JOSS) review checklist: it has been modified for use with USGS software releases.
Edited by Zemmels, Joseph R