17. 11. 2020

Best Practices for Scientific Computing

by Various

recent studies have found that scientists typically spend 30% or more of their time developing software [1],[2]. However, 90% or more of them are primarily self-taught [1],[2], and therefore lack exposure to basic software development practices such as writing maintainable code, using version control and issue trackers, code reviews, unit testing, and task automation. (Saturday, January 11, 2014, 07:44 AM, page 10-17)

Save recent commands in a file for re-use. (Saturday, January 11, 2014, 07:54 AM, page 72-73)

Work in small steps with frequent feedback and course correction. Use a version control system. Put everything that has been created manually in version control. (Saturday, January 11, 2014, 07:55 AM, page 76-80)

Turn bugs into test cases. (Saturday, January 11, 2014, 07:56 AM, page 91-92)

Write code in the highest-level language possible. (Saturday, January 11, 2014, 07:56 AM, page 97-98)

Scientists writing software need to write code that both executes correctly and can be easily read and understood by other programmers (especially the author’s future self). (Saturday, January 11, 2014, 07:58 AM, page 111-12)

Several studies have found that pair programming improves productivity [67], but many programmers find it intrusive. (Saturday, January 11, 2014, 10:45 AM, page 326-27)

more advanced practices at Software Carpentry (http://software-carpentry.org). (Saturday, January 11, 2014, 10:47 AM, page 341-43)