Writing long-term software

March 30, 2010

Carlos Ble show me for the first time the advantajes of using TDD in projects with software to be living for a long life cycle. I wasn’t ready to understood it when he did. However now I’m ready. Furthermore I investing huge amount of time in deploy a continuos integration tool for my company.

This post shows how to do a basic configuration. It runs tests and provides coverage reports, which are really useful. I have try to go even further using pylint, as explained here but the hudson server is in the server we use, which also server our LTSP environment, so I decided to put it away because it use too much resource and the information was not useful due to the massive uses of dynamic classes in Django and, probably, virtualenv.

Once we have a way to meter the goodness of our code, we have move to TDD, at least in all the new code written, doing so we assure the ability to maintain the software in the future, which is a really desirable thing in a project which should be running for many years.

Hudson has probe to be a really simple, but useful tool, we expect to use in all our development projects.