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

Show the relationships from one symbol to another #21

Open
steinybot opened this issue Mar 9, 2021 · 0 comments
Open

Show the relationships from one symbol to another #21

steinybot opened this issue Mar 9, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@steinybot
Copy link
Member

You may also want to discuss this in Ideas.

Description

I want to show how one symbol is connected to another and hide anything that is not relevant.

This would allow one to visualise how things are connected either advertently or inadvertently. It can help to explain large busy diagrams where it is hard to follow why a particular type is being included from the given starting symbol.

This can help with refactoring if for example you begin the refactoring and discover that you have to make many changes far from where the original change was and want to know how you go there and perhaps how to change the design so that the code is not so coupled together.

Potential Solution

  • Add an option --to which takes the destination symbol.
  • Build a graph of the types.
  • Do a depth first search using the distance between type names as a heuristic for which paths to travel down first under the assumption that related types are likely to lead to the solution quicker.
  • Modify nz.co.bottech.scala2plantuml.SymbolProcessor#processSymbol so that we can populate currentLevelSymbols with the nodes from the search result.
  • When --to is set then --max-level should default to 1.

Additional Information

This will have an interesting interaction with the --max-level option.

@steinybot steinybot added the enhancement New feature or request label Mar 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant