In this lesson, we'll discuss four topics that fall under the category of best practices--software development techniques that aren't required, but have been found helpful and productivity-enhancing. The topics:
- unit testing,
- continuous integration,
- collaboration techniques, and
- FAIR software
were selected because they're used on a near-daily basis at CSDMS for the development and maintenance of our software, and we believe they're helpful, in general, for the work of EPSP scientists.
Learning objectives:
- Understand unit testing concepts
- See how to write a unit test for
pytest
- Understand continuous integration concepts
- Understand some recommended behaviors for working on collaborative projects
- See the FAIR principles of software development
This lesson continues in the following sections.