The Notables view provides a way to isolate and investigate key structural characteristics of your project.
At the top right of the Notables view is the drop-down menu of structural characteristics. Each of these choices will present a specific list of items in the project that are excessive or interesting from that structural perspective:
- Split files: A split file is one whose child dependency graph is disconnected. Disconnected groups may suggest that the file could be divided into more than one file, each with a more clearly defined responsibility. Splitting files can also reduce coupling.
- file tangles: Large class tangles are very difficult to work on. If they cross container boundaries, those containers will be necessarily tangled. This notable indicates the number of files in each class tangle, the number of containers they span, the depth of the root container (the higher in the hierarchy, the more disruptive, in general), and the root container ("scope") that contains the file tangle. You can tag the files in the tangle from the context menu on the relevant scope item in the list. (Tip: another way to identify file tangles is to select the "file slice" and "group tangles" viewing options).
- Split folders: Similar to "split files", indicates folders which contain disconnected groups of files.
- Mixed folders: Lists folders that contain a mix of both sub-folders and files. Some architects like to keep a common level of abstraction at each point of decomposition.
- Unused files: List all files in the project that are not used by other files. This may mean that they are no longer needed - redundant code has a cost. Note that this will not pick up orphan groups of files - to find these, select the "Group orphans and orphan groups" viewing option and then the file slice.
- Design tangles: Design tangles are cyclic, folders-level dependencies. This notable gives the outer scope of the design tangle, and lists the items in order of depth of the cycle.
- Fattest design: This notable lists the largest containers in terms of fat, showing the largest items first, and giving the item's number of dependencies.
- Fattest folders: This notable lists the largest folders in terms of fat.
- Fattest files: This notable shows the largest files in terms of fat.
- folder changes: When you have compared the project with a snapshot previously saved in a Structure101 repository, this shows any folders that have changed structurally.
- files depth: This notable lists the files which have the deepest derivation depth and also gives the cardinal number of child classes. This can indicate when a inheritance hierarchy has reached an excessive number of levels.
Right-clicking on any item in the main Notables list brings up the item context menu. In this way the item can be tagged, copied or excluded as desired. If the item is a file, it can also be brought up in the LSM view.