Designite offers Sunburst diagram for design smells that are interactive and beautiful yet effective way to navigate and filter the detected design smells. Let us understand the different elements of the diagram and the associated semantics in the rest of the post.
A Designite’s Sunburst diagram can be divided into three sections column wise viz. A, B, and C. The A section contains the sunburst diagram. The second section (i.e. section B) is the summary of detected smells containing a total number of smells detected per principle. The section C changes dynamically based on the Sunburst’s fragment under the mouse pointer.
Designite’s Sunburst diagram has 4 rings. Each ring represents a dimension associated with detected design smells. The first ring shows the distribution of smells based on the violated principle. Thus, if a software has more abstraction smells then the abstraction fragment will be the largest fragment. Different colors represent a different violated principle. Blue, light brown, violet, and light teal is used for abstraction, encapsulation, modularization, and hierarchy smells respectively. The second ring represents the distribution of specific design smells (such as duplicate abstraction and insufficient modularization) detected. Similarly, the third and fourth rings represent the namespace and the class respectively in which the specific design smell has been detected.
The diagram is quite interactive and offers a way to navigate and filter the detected smells. Each fragment of each of the rings shows the associated smell details. For instance, in the above diagram when we move the mouse pointer over the fragment (that is highlighted in yellow color), section C shows the associated details; in this case, the section C shows that we are pointing to an Abstraction smell, more precisely – duplicate abstraction smell in NServiceBus namespace. If we click on the element, all the duplicate abstraction smell instances occurred in NServiceBus namespace will be shown. Similarly, if we only want to see Modularization design smells then that can be achieved by clicking on the violet fragment in the first ring.