Bill Meyer 337 Posted July 14, 2023 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
Vincent Parrett 754 Posted July 14, 2023 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
plamenjm 1 Posted September 29 A new egg - Unit Circular References framework. 🙂 https://github.com/plamenjm/UCR-framework // Usage of UCR framework means to move unit initialization/finalization // code to a function and let UCR check the dependencies. Share this post Link to post