8.10.1.  Revising Cycle Groups

Cycle Groups are containers for elements participating in a cycle. This view gathers those cycle groups found during system analysis by the Cycle analyzer and groups them according to scope (system or module) and element level (e.g. component, namespace, package, ...).

Cycle Groups View
Figure 8.15. Cycle Groups View

The first column references, in different tree based levels, the category, a unique cycle group identifier and the elements participating in the cycle. The second column informs about the number of elements involved in the cycle group and finally, the third column shows the corresponding module name (for module based cycles) of the cycle or the system name.

Sonargraph considers cycles as issues, as they greatly contribute to the structural erosion of the code base. Thus, using right-click on a cycle group you can define resolutions in order for it to be addressed by the team (see Chapter 9, Handling Detected Issues ).

The context menu for a cycle group also offers options to visualize the cyclic elements in specialized views such as the Exploration view (see Section 8.11, “Exploring the System” ) and the Cycle View (see Section 8.10.2, “ Inspecting Cyclic Elements ” ).