28 May '14, 7pm
Tests are an implementation detail. Spread the word.
Let me back up. My client wants a new feature for their software. I’ve been doing this long enough to know that there’s a good chance they’ll want to change what they see, once they see it . So I want to show them something as quickly as possible – before I waste time building the wrong thing. But sometimes I can’t show them something quickly. Sometimes the code is just plain indecipherable. It takes me a long time to understand it, because the writer did not think about someone ever reading it. And that slows me down. Sometimes it’s downright tedious. Sometimes lots of parts of the system have to stay in sync, because they all know something – and when that “something” changes, they all have to change with it. And that slows me down. Sometimes it’s frustrating. When I make one change, ten other things break, for reasons I don’t understand. This slows me down. I have to bu...