Code Quality

What is code quality? According to the guys behind Crap4j it is the kind of code that makes you cry: This is crap! I think this is a pretty good definition. I have just read Implementation Patterns by Kent Beck. The main theme of this book is that the most important thing when writing good quality code is that it communicates well since code is read much more often than it is written…. and that the total cost of a piece of software is the sum of the initial cost of developing it and the cost of maintaining it. It often turns out that the maintenance cost is much higher than the initial cost. Hence good quality code is code that is easy to read and easy to maintain (i.e. add, remove and change functionality).

This is only one small aspect, so more will come…. I promise!

ScrumWorks works

I have been playing around with ScrumWorks™ Basic Edition which is a free project management tool for Scrum and other agile methods.

ScrumWorks™ Basic features are:

  • Product backlog and release management
  • Categorization of backlog items using themes
  • Sprint task tracking for teams
  • Reports
  • Impediment tracking
  • User and team manager
  • Excel import/export
  • Web Services API
  • Automated and manual database backups

It was easy to install. Just download the file, unzip it and run the installer. Online help is good and it is pretty easy to understand if you know the basic terminology of Scrum.

More information and downloads can be found on the Danube Technolgies website.

JUnitFactory

Agitar has launched a plug-in to Eclipse for test generation. The way it works is that your code is sent to their server where tests are generated and returned to you. The tests are generated by the same technology that is used in AgitarOne. Since it is experimental, it can even contain features that are not available in the commercial Agitar products yet.

I have just tested JUnit Factory on simple classes but it seems excellent! The test code looks fine, all your tests are listed with status information. You even get a coverage report and coverage markers in your code.

The only catch I have found so far is that you have to be online to be able to generate new tests. I found that out when I tried to test the plug-in while I was working offline on the train yesterday…

More information and request for download can be found on http://www.junitfactory.com/

AgitarOne

Writing tests for existing code is time consuming and boring for the developers and thus often neglected. Agitar recently launched a new tool called AgitarOne. This tool generates JUnit tests for your existing legacy application to make sure you do not break anything when you start adding functionality or refactoring the code base. Hopefully it will not be priced to high…

More information about AgitarOne can be found here.