Odum Institute: Modular design and automated testing in R
Modular design and automated testing in R
This 2-part, 6-hour course will be split over 2 days and offered via Zoom. Attendance is required as the course will not be recorded.
Research is relying on increasingly complex code. However, most academics have not received formal training in software development. This course will introduce participants to some of the best practices of professional software development. Participants will learn to structure their R code into reusable functions and store those functions as separate scripts and/or packages. Participants will learn to write automated tests for their functions, to help confirm that results are as expected and to ensure that future changes to code do not cause unexpected changes to results.
In this course, participants will also learn how to create reproducible “environments” that record package versions in use to help avoid package version incompatibilities and ensure that results can be replicated even months or years after the original analysis.
Many R users code using the R markdown or Quarto systems that allow integrating text with code. In this course, participants will learn how these useful tools can affect modular design, and how to use them together. No previous R Markdown or Quarto experience is required. Modular design is best paired with a version control system and integrates with Git and Github.