“Code smell” is an evocative term for that vague feeling of unease we get when reading certain bits of code. It’s not necessarily wrong, but neither is it obviously correct. We may be reluctant to work on such code, because past experience suggests it’s going to be fiddly and bug-prone. In contrast, there’s another type of code that just feels good to read and work on. What’s the difference? If we can be more precise about code smells and feels, we can be intentional about writing code that is easier and more pleasant to work on. I’ve been fortunate to spend the last couple years embedded in a group of developers working on the tidyverse and r-lib packages. Based on this experience, I’ll talk about specific code smells and deodorizing strategies for R.
Jenny is a software engineer on the tidyverse team. She is a recovering biostatistician who takes special delight in eliminating the small agonies of data analysis. Jenny is known for smoothing the interfaces between R and spreadsheets, web APIs, and Git/GitHub. She’s been working in R/S for over 20 years and is a member of the R Foundation. She also serves in the leadership of rOpenSci and Forwards and is an adjunct professor at the University of British Columbia.