Understand tangles
If you don't keep an eye on your package-level structure, cyclic dependencies will most likely creep in. Cyclic dependencies prevent you from releasing, developing or testing packages independently (Robert Martin's Acyclic Dependencies Principle (ADP)). Structure101 exposes package-level cycles ("Tangles") and helps you figure out which set of dependencies you could remove in order to break the cycles. The Dependency Breakout then lets you discover what code would need to be changed.
|
Figure: Auto-partitioning indicates any set of nodes that are cyclically dependant as a cluster with a red border.
Full screenshot |
|
|
Figure: The minimum set of dependencies that would need to be removed in order to render the graph acyclic are drawn in red.
Full screenshot |
|
|
Figure: A list of tangled package diagrams is sorted by depth (higher tangles are generally considered to be worse) and can be used to navigate to the tangles.
Full screenshot |
|


