Skip to content

Latest commit

 

History

History
38 lines (27 loc) · 1.2 KB

index.md

File metadata and controls

38 lines (27 loc) · 1.2 KB

Ivy logo

Best Practices in Scientific Software Development

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

Topics

This lesson continues in the following sections.

  1. Unit testing with pytest
  2. Continuous integration
  3. Collaborative projects (a.k.a. "Gitiquette")
  4. FAIR practices for research software