Checklist overview

  1. Fill out file headers
  2. Clean up comments
  3. Document functions
  4. Remove deprecated filepaths
  5. Ensure project runs via bash
  6. Complete the README
  7. Clean up feature branches
  8. Create Github release

Fill out file headers

Every file in a project should have a header that allows it to be interpreted on its own. It should include the name of the project and a short description for what this file (among the many in your project) does specifically. See template here.

Clean up comments

Make sure comments in the code are for code documentation purposes only. Do not leave comments to self in the final script files.

Document functions

Every function you write must include a header to document its purpose, inputs, and outputs. See template for the function documentation here.

Remove deprecated filepaths

All file paths should be defined in 0-config.R, and should be set relative to the project working directory. All absolute file paths from your local computer should be removed, and replaced with a relative path. If a third party were to re-run this analysis, if they need to download data from a separate source and change a filepath in the 0-config.R to match, make sure to specify in the README which line of 0-config.R needs to be substituted.

Ensure project runs via bash

The project should be configured to be entirely reproducible by running a master bash script, run-project.sh, which should live at the top directory. This bash script can call other bash scripts in subfolders, if necessary. Bash scripts should use the runFileSaveLogs utility script, which is a wrapper around the Rscript command, allowing you to specify where .Rout log files are moved after the R scripts are run.