I think the only surprising thing about this list of best practices is how many scientists are not doing them. The authors begin with the importance of software in science:

Software is as important to modern scientific research as telescopes and test tubes.

Then they move on to a list of best practices. I think most of the listed practices, e.g., use version control, DRY, test, etc., are common sense and should be known to scientists, even if not always practiced. But it is important to remember best practice #1:

Write programs for people, not computers

I would add one more practice:

  • Wherever possible, use plain text.

It might be convenient to create a 24 pt bold Comic Sans title in a Word doc, but plain text (possibly in LaTeX, restructuredText, Markdown, or some other text formatting system) will work better with your version control system (best practice #5), automate nicely (best practice #2), and not lock you into a proprietary system (best practice #7).

I noticed the list of authors includes Greg Wilson from Software Carpentry, who I’ve mentioned before.

Link via Astronomy Computing Today.