Consider this an teaser of things to come 🙂
A group I am a member of, the C# Design Patterns Group, had a piece of software donated to it, and we are now responsible for its maintenance and upkeep. It just so happens that the software is not in the best possible shape, as far as design quality goes. Our plan is to fix a few bugs, refactor it a bit, and eventually add some new features to it. But we gotta write some tests for it first.
I plan on sharing how I write these tests with you, as I examine Michael Feathers’ new book, Working Effectively with Legacy Code. I’ll be talking some new terms that Michael explains and working through some of the test-introduction patterns he describes. And in the end, we’ll end up with a nicely factored system, and a good example of what to do when presented with an existing code-base.
Excited yet? I know I am!
The next article will explain the existing architecture, talk about what the program does, and show some examples of it working. Then we’ll get this beast into a test harness and start fixing simple bug that results in an exception.