Additions let you see complete slices of a code-base at any level, home in on structural complexity, view dependency graphs in matrix form, and map code items and groups (like tangles) through different hierarchies, slices and perspectives (learn more or download).
Structure101 is for contolling architecture and structural complexity. Version 2 introduced slicing and tagging. Beta 2 adds dependency hiding and cross-perspective navigation. New in v2 beta 2: Context menus (right mouse click) have been added. This introduces the new capability to navigate easily between views (perspectives). It is now possible to tag dependencies as well… Read more »
The Spring guys have let a single dependency cycle into their architecture. A very small flaw, but it’s a perfect example of why you need to check your code-base at different levels to keep it truly tangle-free. I did a quick analysis of the Spring Framework some time back and sure enough found their claims… Read more »
Un-monitored, the complexity of a code-base increases with its size. Jboss and Struts are perfect examples. However monitoring complexity helps you keep complexity debt under control, or even down to zero. If you publish the last couple of years worth of releases of your project to a Structure101 repository, you’ll probably see something like this… Read more »
Ben Hosking writes in Managing Complexity – The aim of Designing Code that: “The most important part of design is managing complexity“ I like the simplicity of that. What happens if you don’t manage complexity. Well, it starts to cost. Talking at OOPSLA 2004, Ward Cunningham (Mr. Wiki) compared complexity with debt: “Manage complexity like… Read more »
Structure101 v2 goes beta today. With it you can walk through the code-base in slices from the class-level, to the package-level and up through the design levels, spotting tangles and seeing how far they have spread. This is a snag of the Slice perspective with the slice selector highlighted: You can now see dependency graphs… Read more »
The Gartner “Emerging Technologies Hype Cycle” is something worth giving a good once-over every year. The premise is that most technologies that eventually get traction will first go through a “Peak of Inflated Expectations” with lots of publicity and a lot of unsuccessful applications by the early adopters. This is followed by the “Trough of… Read more »
The structure of Struts is characterized by a nasty dependency tangle that starts at the class-level and percolates up through the package and design-levels. Following my blog on Spring’s “almost perfect” structure, I thought I’d take a look at another open source project in a similar space to perhaps shed a light on common structural… Read more »