Tag Cloud Visualization for Source Code

I’ve always been a huge fan of Wordle, so when I saw Fabian Steeg’s announcement of Cloudio – the SWT-based tag cloud visualization for Zest – I knew I wanted to do something with it, so I created Sourcecloud (suggestions for a better name are welcome).

Sourcecloud is an Eclipse plug-in that lets you create tag clouds of your source code. The idea for this project came from Kevlin Henney, who used such tag clouds in a presentation at Jazoon 2010 (if I remember correctly). Luckily for me, Cloudio comes with an example application, from which I was able to reuse most of the parts, so all the credits go to Cloudio’s creator Stephan Schwiebert.

Why would you want to make tag clouds for source code? It can give you a quick first impression of the quality of a code base. Ideally, you should see many names of the project’s domain. On the other hand, if you see lots of nullsints and Strings, chances are that the code will be hard to understand because there are not many domain specific types in it.

You can install Sourcecloud from the update site for integration builds into Eclipse Indigo. And here’s how the result looks:

And here’s a screenshot of the Eclipse view:

The source code is on GitHub, so if you want to add or change something, fork it and send me a pull request!


How Old Is Agile Development?

Reading the following lines, it should be crystal clear to every professional that the text refers to some sort of Agile Development:

[..] we consider the design process as a recursive operation taking place in increments of, say, weeks. That is, after each increment, we aim at having a finished product [..]. In other words, we consider the product as always, from the very first few weeks onward, to be in the hands of users. A version of the product is always finished and available for use.

Now, how old is this quote? Certainly not more than ten years, that would have been my guess. Probably from the early XP days? Actually, the quote is from 1977‘s august edition of IEEE Computer. Interesting, isn’t it?