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

Cluster results by "degree" of dependency #23

Open
ujh opened this issue Jun 24, 2016 · 0 comments
Open

Cluster results by "degree" of dependency #23

ujh opened this issue Jun 24, 2016 · 0 comments

Comments

@ujh
Copy link

ujh commented Jun 24, 2016

So, when I run society from . on my Rails app I get this graph:

screencapture-file-users-uh-work-riskmethods-doc-society-index-htm-1466770712816

That is of course not ideal. 😁 Of course this is one of those monolith apps where everything depends on everything. What I'm interested in seeing if there are clusters of classes that depend on each other a lot (i.e. A depends on B, B depends on C, A depends also on C, etc.) but don't depend a lot on classes from other clusters. The hope is that this could help visualise what changes to do to really separate one cluster of classes from the rest of the system. One idea for this would be to visualise it like this:

img_2148

In that examples the classes A, B, C, and D depend a lot on each other. And classes X, Y, and Z do as well. But both clusters don't depend that much on each other.

I can already see two issues with this:

  1. It will still be somewhat useless with the number of classes from my original example
  2. The usefulness of the clustering may depend a lot on the actual graph of dependencies so it may be necessary to tune the parameters for each use case

So I'm basically looking for an interactive version of graphviz neato for my Ruby class dependencies, I guess. If this is the best way to represent this data I have no idea.

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

1 participant