John Murray · Mar 15, 2016 1m read

Code metrics over time

Among the outputs of our Yuzinji tool are two code metrics that it can be interesting to track over time as a development project proceeds. These are Size and XS. The first is fairly straightforward. As you write more code the size of your codebase increases. The XS metric (pronounced "excess") aims to quantify excessive structural complexity. XS is explained in some detail in this 2006 whitepaper from Headway Software, whose Structure101 toolset Yuzinji leverages.

By analyzing a codebase using Yuzinji at key milestones we can investigate how these metrics change. Here's a screenshot from a public repository we created from the classes in the SAMPLES namespace starting with Caché 2010.2 and reaching to recent 2016.1 and 2016.2 Field Test versions.

And here's a URL where you can browse this repository for yourself to discover more of what Yuzinji reveals.

John Murray
George James Software

0 248
Discussion (3)1
Log in or sign up to continue

Interesting. Is it possible to measure particular package, not the whole namespace?

The link to XS  whitepaper doesn't work.

At analysis time you can choose which packages to include. The webapp whose time-based graphical output I showed above doesn't let you filter a whole-namespace analysis to view only the stats for a single package. But the Structure101g Studio tool gives a lot more power. For example, here's a drilldown into the top-level packages:

Overall bar length is code size. The red portion is the XS of the package.

I have fixed the XS whitepaper link. Thanks for reporting that.