Thursday, May 13, 2010

Lugaru - Part 3

Several months ago I was introduced to CodeCity by Richard Wettel. In his words:
CodeCity is an integrated environment for software analysis, in which software systems are visualized as interactive, navigable 3D cities. The classes are represented as buildings in the city, while the packages are depicted as the districts in which the buildings reside. The visible properties of the city artifacts depict a set of chosen software metrics, as in the polymetric views of CodeCrawler.
It's been a fun little program for visualizing applications. Here is the code city for Lugaru, (I added the class names to the two largest classes!)
The length and width of the buildings are scaled according to the number of attributes in the class. The height is scaled according to the number of operations. I don't have the application available to me as of this writing, but I seem to recall the Person class having ~250 attributes to give you a sense of scale.

So the question is where to start. Some would say start at the highest level class, some would say start with the 800-pound gorilla in the application (i.e. "Person").

According to the paper in my previous post, before any code changes start, I should have test cases in place to ensure that the behavior before the refactoring is the same afterward. How am I going to test this thing?! And before testing, I've got to get the thing running. I'm curious if it's working out of the box for anyone else. Wolfire IRC says no.

No comments: