Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TreeMaps and Dependency Structure Matrix to inspect code architecture quality #496

Open
mottalrd opened this issue Jul 23, 2024 · 1 comment

Comments

@mottalrd
Copy link

Good morning RubyCritic community, I use this tool often and I am very grateful for all your contributions here!

I love the churn/complexity visualisation of RubyCritic and I am wondering if other code visualisations have been considered for implementation. These are some visualisations that I would love to see in RubyCritic:
(a) Treemaps (here). CodeCity is another cool variation of this here
(b) Dependency Structure Matrix (here)

Has any of these been considered for implementation? If so can anyone point me to the conversation?

Thank you 🙏 have a good day
Alfredo

@etagwerker
Copy link
Collaborator

@mottalrd Hey Alfredo, thanks for suggesting this idea!

I've thought about a topic that is tangential to what you are talking about: Dependency Freshness.

@mscottford has talked about this in the Software Engineering Radio podcast: https://www.youtube.com/watch?v=_Ob8RanicKE

It's based on this paper: https://ieeexplore.ieee.org/document/7202955

For some of my projects I've been using these tools:

  • next_rails -- in spite of its name, this gem works with any ruby project: bundle_report outdated will give you a percentage showing how many dependencies are out of date in your system.
  • libyear-bundler -- this tool will give you an idea of the "libyears" for all of your dependencies.

Those two tools give me an idea of "dependency freshness" for a Ruby application.

Did you have an existing Ruby gem in mind when it comes to adding a dependency structure matrix analysis?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants