Lab Coding Guidelines

Lab Coding Guidelines

This is a summary of the 2018-10-10 lab meeting where we discussed coding practices. The full notes are available online.

Desired Qualities:

  • completeness
    • code for all the figures and analyses
    • external dependencies documented
  • readable
    • uses good standards for code style
    • comments help guide navigation to different parts
  • (re)usable
    • description of how to run everything, few changes needed to run it all
    • examples for functions
    • functions written to be flexible (e.g. less dependence on “magic numbers” and hard-coded parameter values)

Practices:

  • linter (for style)
  • tests (to check functions, could also provide simple examples)
  • pair programming checks for readability
  • documentation
  • refactoring core code into reusable packages
  • containers

Action Items:

  • training (and organizing it)
  • toolchain (linter, tests, development tools)
  • workflow and organization
  • regular practices