pharmaR / riskassessment

Collaborative Deployment: https://app.pharmar.org/riskassessment/ Risk Assessment Demo App: https://rinpharma.shinyapps.io/riskassessment
https://pharmar.github.io/riskassessment/
Other
101 stars 28 forks source link

Slim down the number of dependencies #281

Closed AARON-CLARK closed 1 year ago

AARON-CLARK commented 1 year ago

As we know, devtools::check() throws a note whenever there are more than 20 package imports, and rightfully so. It can become cumbersome to manage such a large package dependency tree - making sure everything places nicely with each other.

We currently have about 35 imports in the DESCRIPTION file. In our dev meeting on 11/15, we discussed we could probably shed magrittr, waiter, and keyring without batting an eye. And we with a little work, we could probably shed tibble & shinyhelper. There may be others. Right now, we have no target for "max number of packages" we're okay with, so just progress towards slimming down the dependency list is much appreciated.

Just a note: it's important to use Crtl + Shift + F and do a whole project search for these packages before removing! If there are any functions being used, they should be prefixed with the package name, such as waiter::use_waiter(). So if you search for "waiter", you SHOULD be able to find all it's usage in the package/app, but there may be exceptions to that (unfortunately) so be sure to test the app vigorously after removing.

AARON-CLARK commented 1 year ago

Someone recently shared the tinyverse manifesto with me that expands on why less dependencies is best.

Dependencies matter. Every dependency you add to your project is an invitation to break your project.

It shares articles on (1) dependency management and (2) how stable dependencies require less work. As of today, we have 36 dependencies, so we definitely have our work cut out for us.

AARON-CLARK commented 1 year ago

I think this was achieved with #323