Chapter 20. Software Development Practices
In this last part of the book, we zoom back out to consider development practices that can make you more productive and raise the quality of your work. Here we’ll discuss the use of version control and continuous integration. In Chapter 21 we discuss how the nature of package maintenance varies over the lifecycle of a package.
You will notice that we recommend using certain tools:
- An integrated development environment (IDE)
-
In “RStudio Projects” we encouraged the use of the RStudio IDE for package development work. That’s what we document, since it’s what we use and devtools is developed to work especially well with RStudio. But even if it’s not RStudio, we strongly recommend working with an IDE that has specific support for R and R package development.
- Version control
-
We strongly recommend the use of formal version control and, at this point in time, Git is the obvious choice. We say that based on Git’s general prevalence and, specifically, its popularity within the R package ecosystem. In “Git and GitHub”, we explain why we think version control is so important.
- Hosted version control
-
We strongly recommend syncing your local Git repositories to a hosted service and, at this time, GitHub is “the” or at least “an” obvious choice. This is also covered in “Git and GitHub”.
- Continuous integration and deployment, a.k.a. CI/CD (or even just CI)
-
This terminology comes from the general software engineering world and can sound somewhat ...
Get R Packages, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.