Writing Clean Scientific Software

Series: HPC Best Practices Webinars

Most scientists are largely self-taught as programmers. Even many of us who spend most of our time coding have never had formal training in writing software. This webinar is intended for students and scientists who have some experience writing code but who have had to learn mostly on their own. The webinar will describe tips and strategies on how to write readable, reusable, and maintainable code. These tips include writing short functions that do exactly one thing with no side-effects, and measuring the length of a variable name by the time needed to understand its meaning rather than by number of characters. The webinar will describe strategies for restructuring a complicated function into smaller and more manageable chunks, and provide tips on how to make the best use of comments and error messages. Overall, the webinar will embolden the Computational Science and Engineering (CS&E) community to think of code as communication.


Presenter Bio

Nick Murphy is an astrophysicist and research software engineer at the Center for Astrophysics in Cambridge, Massachusetts. Nick attended the University of Michigan as an undergraduate before heading to the University of Wisconsin for graduate school in astronomy. Most of Nick’s research has involved simulating plasma processes in the solar atmosphere. Nick co-founded the American Astronomical Society’s Working Group on Accessibility and Disability, and is now a member of the APS Division of Plasma Physics Diversity Equity and Inclusion Organizing Collective Committee. Nick is one of the core contributors to PlasmaPy: an open source Python package for plasma research and education.