-
Notifications
You must be signed in to change notification settings - Fork 0
Code Review Checklists
Julia Damerow edited this page Feb 23, 2022
·
3 revisions
- Contribution and authorship: Is there a justification for who are the authors/contributors and why the submitter is the one requesting the review?
- Description: Is there at least a basic documentation (e.g. README file, link to documentation, etc.)? And if so, is it easily findable?
This checklist has been adapted from the JOSS review checklist.
- I confirm that I read and will adhere to the code of conduct. (Code of conduct still needs to be written.)
- License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
- Contribution and authorship: Does the author/contributor list match the submitted justification?
- A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
- Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
- Example usage and data: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems). Do the authors include example data to be used to test the software?
- Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
- Installation: Does installation proceed as outlined in the documentation?
- Functionality: Have the functional claims of the software been confirmed?
- Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)
- Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
- Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support?
- Github citation file: Is there a GitHub citation file?
- Examine the code
- Is the code readable to a human?
- Are variables and method names clear?
- Is there sufficient documentation for someone to come back 6 months later (or someone new) to understand what the code is doing?
- Examine the algorithms in detail
- Are there any hidden assumptions, not specified, that could cause problems?
- Are there edge cases that may not work?
- What happens with bad or missing data?
- Does the algorithm do what it is supposed to? – Use stepwise abstraction