Jump to content
Lars Fosdal

Feature req: Compiler unit dependency graph / log with warnings about circularity

Recommended Posts

1 hour ago, Uwe Raabe said:

Here is a part of the Dependency Graph from Understand for the VirtualTrees -> VirtualTrees.WorkerThread cycle with information where the dependencies come from in the Dependency Browser below:

In tackling large legacy projects, I have seen many cycle chains which exceed 100 units. The graphs are pretty, but when the magnitude of the problems is so great, the graphical interface seems to me to be less than effective.

I have dealt with cycle reduction painfully, sometimes getting lucky, and other times finding obvious failures to separate concerns. But in many cases, I have been defeated by the challenge of finding a starting point. And nice as it is to clean up some modules, when the result doesn't alter the cycle count, it becomes hard to maintain your enthusiasm.

Share this post


Link to post
9 hours ago, Uwe Raabe said:

Nevertheless are there several cycles as shown by MMX Unit Dependency Analyzer:

Yes, I'm aware of those, some things just couldn't be refactored out without major breaking changes. Some of those are also new since I last refactored 🤷‍♂️

 

9 hours ago, Uwe Raabe said:

Here is a part of the Dependency Graph from Understand for the VirtualTrees -> VirtualTrees.WorkerThread cycle with information where the dependencies come from in the Dependency Browser below:

That does indeed look like very useful information. 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×