Home
subscribe

L'etat, c'est moi

Mere Complexities sells the consulting and development services of me, Paul Wilson.

Conferences

Organising Scotland on Rails
Speaker, RailsConf Europe '08

Archive

Java Generics 2 - The restatement

I’m not satisfied with the clarity of my last post on generics.

Languages should be strongly typed or not. Compromising typing in a strongly typed language leads to confusion and type abuse. The Java collection classes were such a compromise. As far as I’m concerned the 1.5 generics plug a major hole in the language. I am not that bothered about the added complexity as I do not anticipate actually writing any generic classes myself.


Mock Objects Controversy

There has been a lot of debate recently around mocks. I have decided that it is now time to state my opinion: after much thought I have decided against the use of puns in articles and blog posts on mocks. Titles like Making a mockery of stubs are to be deplored.


Documentation

I had a disagreement with a senior person at the company where I’m contracting a the moment. I was arguing that while documetation is valuable, it is not as valuable as working code and comprehensive testing. Actually I wasn’t – that’s what I wish I wish I argued. It actually went something like this:

other: Do you agree that documentation is important?
me: well, not really……..
other: long hard to follow (friendly but patronising) lecture on the importance of documentation, conflating documentation and testing.

I don’t really like arguing against documentation: it smacks of laziness, short-sightedness and naivete. The software engineering school of thought is that extensive documentation of requirements, analysis, design and so on, is what differentiates professional software development from reckless hackery: argue against it and that makes you a reckless hacker.

The other reason why I don’t like arguing against documentation is that it is valuable. The problem is that the maintencance cost of extensive documentation is prohibitive. In my experience Test Driven Development is far superior to Documentation Driven Development.

The exciting thing about Fit and the like, is that it marries TDD with requirements documentation. Documentating user stories as tests produces executable documentation with exponentially added value and an almost guarantee of being up to date with the code.