Architectures Rebooted

Understand lets you virtually reorganize your code through abstract hierarchies called Architectures. Different teams use Architectures for many different activities. One group created a complexity report based on their staff to track which team is working on the most complex code bases. Another uses Architectures to keep track of large refactoring projects to regularly query which files have been updated and which still need work. One of the most popular uses is organizing the code into functional units and viewing dependencies between those different units. e.g. What dependencies do we have on external libraries? With Understand 6.0 it’s even easier to create and use Architectures!

Tagging
Architectures previously had to be explicitly designed and built before using them. Now they can be created dynamically using a tagging paradigm similar to Gmail labels.

There are several options for adding the currently selected entities to an architecture:

  • Use the shortcut key (Ctrl+Shift+A on Windows)
  • Click on the Tag icon in the new Architecture Browser, as shown below
  • Select the new top level menu Architectures > Add to Architecture
  • Right click the entity and add it from the context menu

tagging

A window will open to let you select an existing Architecture, or create a new one. You can create nested hierarchies by using forward slashes to denote a sub level.

image

All the Entities
Now all kinds of entities can be added to Architectures, not just files. Want to make an Architecture to keep track of all of your enumerators because you have way to many? We can handle that, and no judgement! Need to report how many lines of code are in private classes in the database interface code? Not a problem. Anything that we have the source for can be added to an Architecture.
image

Complete Coverage
Sometimes you need to ensure that everything in the project gets added to an Architecture. In the example below I needed to make sure that every file was added to my Staff Architecture. There is a new option in the Project Browser that shows which files have not been added yet. From the Project Browser menu select Hide By > My Architecture.

coverage

Share With Your Team
After you organize your code in a way that makes sense for your team, the next step is distributing that information. Whether your project is shared via Version Control or mounted in a common network location, Architectures are shared with your whole team. Anyone using that project gets the Architectures automatically - it couldn’t be easier!

How is your team using Architectures? We welcome your feedback!