Toggle navigation
writing.reusable.code
1.1.4
Notes
Slides
Resources
Additional Resources / Readings
Style Guides
“The tidyverse style guide”
Hadley Wickham’s online resource with details on naming and styling R code
“Style Guide for Python Code”
the Python Enhancement Proposal from Guido van Rossum, Barry Warsaw, and Nick Coghlan
Code Smells and Recommendations
“Code Smells and Feels”
GitHub repo from Jenny Bryan on “code smells” - also check out the related
slides
“Writing clear code”
notes from Karl Broman
“Writing Clean Scientific Software”
slides from Nick Murphy on clean coding (examples in Python, a bit physics-oriented)
“Column Names as Contracts”
Blogpost from Emily Riederer on selecting good column names to facilitate a data analysis workflow
“How patterns in variable names can make code easier to read.”
Short video from Felienne Hermans on variable and object naming
“Twelve quick tips for software design”
paper from Greg Wilson about designing larger pieces of code
Writing Functions
“Functions”
book chapter from Hadley Wickham & Garrett Grolemund’s “R for Data Science”
Advanced Topics
“RMarkdown Driven Development (RmdDD)”
Blogpost from Emily Riederer on structuring RMarkdown documents for data analysis; see also the
“RMarkdown Driven Development: the Technical Appendix”
“The Wrong Abstraction”
blogpost from Sandi Metz on refactoring and complexity
“The targets R package”
targets
is a workflow package to help manage large and complex analyses
“My Workflow for Open and Reproducible Science as an Academic Researcher in Biomedicine”
a broad overview of combining snakemake, RStudio projects, and github for reproducible workflows, from Ruben Van Paemel
https://twitter.com/zevross/status/1519318012846817282?s=20&t=MH7bo9SJVImUbt0N6h7AzA
Books and Longer-form Guides
“The Good Research Code Handbook”
guide to good research code (python-centric)
“The Art of Readable Code”
via
https://twitter.com/mv_evans/status/1354435566981545988
“Clean Code: A Handbook of Craftsmanship”
via
https://twitter.com/mxwlj/status/1354170627695861761
“Research Software Engineering with Python: Building software that makes research possible”
(online bookdown version)
book from Damien Irving, Kate Hertweck, Luke Johnston, Joel Ostblom, Charlotte Wickham, and Greg Wilson on introductory Research Software Engineering
Contents