In my organization we have an internal package that does a lot of things:
- Plotting
- Creating tables
- Report templates
- Connecting to databases
- Modelling and statistics
- Shiny-stuff
We're about to split this package into a subset of packages in order to make it easier to maintain and try to follow the principles outlined in R Packages: "We believe that packages that have a wide audience should strive to do one thing and do it well."
However, I suppose this can end up at the other end as well, where we have too many small packages that gets outdated and are harder to maintain.
So I'm curious in how organizations with a lot of internal code organize their packages?
Take plotting and making tables as an example. One might argue that there should be one package for plots and one package for tables because they do two things. But tables and plots are often created in the same analysis, or in a Shiny app. So you might argue that they should be one package for creating visualizations.
I realize that this is very context-driven but I'm just curious to hear if someone wants to share how their organizations work with organizing internal packages.