Best Practise for Scientific Computing

I stumbled across a research paper on use of scientific computing methodologies that can be leveraged across various fields. The paper deals with core software engineering constructs and discusses various ways to make better, efficient, more reliable software, adaptive to changes.

Here is a gist of the research paper :

  1. Write program for people, not computers.
  2. Let the computer do the work
    • Automate repetitive tasks.
    • Use the computer to record history.
  3. Make incremental changes.
    • Use Version Control
  4. Don’t Repeat Yourself
  5. Plan for Mistakes
    • Defensive Programming
    • Write and run tests
  6. Optimize software only after it works correctly.
  7. Document design and purpose, not mechanics
  8. Collaborate

Best Practise for Scientific Computing