uptake / pkgnet

R package for analyzing other R packages via graph representations of their dependencies
https://uptake.github.io/pkgnet/
Other
155 stars 37 forks source link

Package Report #17

Closed patrick-boueri closed 6 years ago

patrick-boueri commented 6 years ago

I think the original intent of each PackageReporter was that it was able to knit a child markdown page, and give a high level summary stats, that could then be bundled into a single report for your package. Each page would have some intro about it, and a rank ordered list of "what do i do next if i want to fix this", as well as maybe some cool plots. I think this ordering should be pluggable but we can have sensible defaults.

For our current reporters this is what i envision:

Is this inline with everyone's thinking?

jameslamb commented 6 years ago

I love this idea, yeah. Instead of just plotting to the default graphics device (which we do right now), I think the "each reporter returns a child markdown" idea is super cool and would be valuable.

I really really like the idea of also having some intro text for each reporter and some recommended steps to take. That's so powerful

bburns632 commented 6 years ago

The plan for the dependencies sounds excellent. What about a list of top 5 functions in the package that use said dependency. That would help address how to remove that package.

For functions, in addition to centrality and test coverage, total number of dependencies, and cyclomatic complexity comes to mind.

I think centrality and total number of dependencies should align, but whichever comes across to the user more clearly as "hey-this-is-an-important-function" I'm cool with.

Cyclomatic complexity helps highlight functions that should be rewritten or possibly refactored into smaller functions. Test coverage would not address this.

patrick-boueri commented 6 years ago

Great! I'll make this my next PR. Also i dunno how to assign labels otherwise i would've. Is that a thing only OSS gurus can do?

jameslamb commented 6 years ago

I'm 99% sure anyone can do it, but not 100% sure. I'll go try messing with one on Frasco's Metrics package (where I know I'm not an admin) and report back

jameslamb commented 6 years ago

jk he didn't have any. I tried on networkx and can confirm that I couldn't change the labels on any of them.

We sent you an invite to be a contributor on this repo when we first started, which should give you the write to change them. But it says you haven't accepted. Need me to re-send it?

jameslamb commented 6 years ago

This one can safely be closed. Thanks to @patrick-boueri and @torpeterson for setting up the initial skeleton and making it easy to plug stuff in