Skip to content

gjbex/Best-practices-in-programming

Repository files navigation

Best practices in programming

DOI

Render and test workflow

Material for a training on best practices for programming and software development.

The material is available as a website.

Table of contents

  1. Syntax versus semantics
  2. Code style and conventions
  3. Version control with git and collaboration
  4. Code documentation
  5. Testing
    • Testing as experiments
    • Unit testing
    • Functional testing
    • Code coverage
  6. Deployment
  7. Continuous integration

Programming languages covered

Although this training aims to be programming language-agnostic, the repository also list a number of tools that are programming language-specific. Obviously, this can not be exhaustive, so feel free to suggest additional tools if you are aware of any.

Programming languages covered:

  • C
  • C++
  • Fortran
  • Python
  • R

Of course, there are many programming language-agnostic tools as well.

What is it?

  1. docs: directory with the markdown source for the site.
  2. mkdocs.yml: mkdocs configuration file.
  3. environment.yml: conda environment for building the site.
  4. linkcheck_skip_file.txt: skip file for linkcheck
  5. LICENSE: license for this repository and materials.
  6. CONTRIBUTING.md: how to contribute to this repository.
  7. CODE_OF_CONDUCT.md: code of conduct.

About

This material is licensed under Creative Commons.

You can contribute to this project in various ways.

Both contributing to this material and participating in the training are subject to the code of conduct.

Acknowledgments

I've "borrowed" much of the table of contents from a training given by the Netherlands eScience Center, although no actual contents of that training was used for the development of this material.