The complexity perspective lets you understand the amount of excess complexity in your project, how it is distributed across the code-base hierarchy, and which items are the most complex.
The primary concept is that of XS - the amount of excessive (avoidable) complexity at any level of design breakout.
What is meant by XS is defined by the selected metrics and thresholds in the XS configuration. If any item exceeds any threshold, then its XS value is proportional to its size.
A whitepaper explaining our XS framework in detail is available here.
The XS drilldown lets you understand how excess complexity is distributed across your design structure.
The XS report shows you the source of your XS problems as a Pie chart and a list of the items that are excessively complex.
The sortable delta column to the lhs of the "Items with XS" list details any changes in XS during a comparison. Indicators shown in this column include:
- "XS introduced" i.e. a new offender
- "XS increased" i.e. existing offender's XS has increased
- "XS unchanged" i.e. existing offender's XS is unchanged
- "XS reduced" i.e. existing offender's XS has been reduced
- "XS cleared" i.e. an old offender, from the compared-to snapshot, that has been cleared
Note, the persistence of XS offenders with a snapshot was introduced in b549. If you compare to a snapshot published with an older build, the delta column will just show "-" to indicate that an XS trend could not be determined.