Best Practices for Scientific Computing

A set of best practices for scientific computing, by Wilson et al (2014).

Scientists spend an increasing amount of time building and using software. However, most scientists are never taught how to do this efficiently. As a result, many are unaware of tools and practices that would allow them to write more reliable and maintainable code with less effort. We describe a set of best practices for scientific software development that have solid foundations in research and experience, and that improve scientists’ productivity and the reliability of their software.

In a nutshell:

  1. Write programs for people, not computers
  2. Let the computer do the work
  3. Make incremental changes
  4. Don’t repeat yourself (or others)
  5. Plan for mistakes
  6. Optimize software only after it works correctly
  7. Document design and purpose, not mechanics
  8. Collaborate

Read the full recommendations here.