3922957
doi
10.5281/zenodo.3922957
oai:zenodo.org:3922957
user-plasmapy
Writing Clean Scientific Software
Murphy, Nicholas A.
Center for Astrophysics | Harvard & Smithsonian
doi:10.5281/zenodo.3491142
info:eu-repo/semantics/openAccess
Creative Commons Attribution 4.0 International
https://creativecommons.org/licenses/by/4.0/legalcode
Research software engineering
Clean coding
<p>This presentation discusses strategies for writing clean scientific software. Choosing meaningful variable names improves readability. Functions should be short, do exactly one thing, and have no side effects. High-level big picture code should be separated from low-level implementation details, for example by writing code as a top-down narrative. Because comments often become out-of-date as code evolves, it is preferable to refactor code to improve readability rather than describe how it works. Well-written tests increase the flexibility of code. This presentation encourages us to think of code as communication.</p>
This work was created with support from National Science Foundation (US) grant 1931388 to the Smithsonian Astrophysical Observatory. A minor portion of this presentation was adapted from the paper entitled "Best Practices for Scientific Computing" by G. Wilson et al., which is available under the Creative Commons Attribution 4.0 International (CC BY 4.0) license.
Zenodo
2020-06-29
info:eu-repo/semantics/lecture
3922956
user-plasmapy
1
1696376582.416057
643129
md5:4229bff05d7e36bd63e489bf891affa8
https://zenodo.org/records/3922957/files/WritingCleanScientificSoftware.pdf
public
10.5281/zenodo.3491142
Has part
doi
10.5281/zenodo.3922956
isVersionOf
doi