For Restructure101 version 2 (press release) we rolled in a load of feature requests that came back from users of version 1. A lot of these were around making the existing functionality more accessible. Others make version 1 use-cases much quicker/easier to achieve. In particular, the combination of filtering and slicing is a massive improvement in isolating the exact subset of structure that you need at any time – it is well worth getting very used to these new commands.
Above is the fully expanded UI. It’s got a bit busier but it is easier to control the display to hide the different panels. The main differences from version 1 are:
- The overall layout is now the same as Structure101; the borders between the 4 main panels can be adjusted by dragging, and any panel can be maximized by double clicking its header.
- The dependency breakout, which was on a pop up in v1, is now in the main UI center bottom (like Structure101).
- All the Tangles and Fat related information (and only that info) is now co-located in the left panel. This means that the items which contribute to non-zero values in the chart are shown immediately below the chart.
- The version 1 viewing control panel (which was on the right of the LSM) is now moved to commands on the toolbars. For example the show all/between/selected edges option are on the dropdown second from the left on on the LSM toolbar.
- Other than the tangles/fat, all the lists that were on the lhs of the LSM are now distributed across the 3 sections of the right panel. Don’t miss the drop-down to select the notables in the top right panel. Also we added a “tags” tab on the center right viewer to make it easy to find tagged items on a large LSM.
- A new filtering framework is accessed via the main toolbar, and the context menu. Filter commands work off the currently selected items, and you can filter items out (i.e. hide them), or filter items in (i.e. isolate them by filtering everything else out). You can unflilter the contents of just selected items, and clear all filtering so that nothing is hidden. There is a filter stack that you can walk using the forward and back arrows.
- Hiding of tagged items has been removed – similar functionality is available from the filter in/out tagged items buttons. This is a bit different from the old filter/tags in that it applies to only the current sandbox/action list.
- You can now create “slice” views of the LSM from the dropdown on the main LSM viewer. These are like the Slice perspective in Structure101, removing composition from the visible model. This means that you no longer need to “flatten to classes” in order to see all the classes in a region of the codebase (“flatten to classes” remains as an action).
- We changed the name from “sandbox” to “action list” (in preparation for some future features).
- Setting an action list to be the “to do” action list is now done using the “share” button – we felt this was more familiar/”normal”.
- We optimized the Over-complexity Chart to not calculate the fat and tangles values for every action on very large action list, just every nth (configurable) action – speeds up loading very large action lists on very large codebases.
There are lots of other less visible changes. If you can’t find something, it is there somewhere, just ask and we’ll tell you where we moved it.