For the last few months, I've been trying to enforce a discipline of Design, Code, Inspect Code for errors, Unit Test, repeat. I try to do this over relatively small increments like 1-2 functions at a time, maximum. The change from what I did previously is that before I didn't do much detailed design -- that happened as I was coding. And reading code for errors was only done if a test failed.
It gets tedious very quickly but at the same time the number of errors that persist to Unit Test has dropped considerably.
After spending a lot of time thinking about Software Process, I've concluded that the biggest gains come from engineering discipline, not heavier process, so yeah, I don't think you're doing too much. Although I wouldn't force code/design into patterns.
A lot of the code I'm modifying these days is legacy stuff with 300+ line methods!!! Although it was written by a pretty smart guy, I really wish he had heard of refactoring and removing dead code: I have a burning hatred of commented out code and code that never gets executed.
It gets tedious very quickly but at the same time the number of errors that persist to Unit Test has dropped considerably.
After spending a lot of time thinking about Software Process, I've concluded that the biggest gains come from engineering discipline, not heavier process, so yeah, I don't think you're doing too much. Although I wouldn't force code/design into patterns.
A lot of the code I'm modifying these days is legacy stuff with 300+ line methods!!! Although it was written by a pretty smart guy, I really wish he had heard of refactoring and removing dead code: I have a burning hatred of commented out code and code that never gets executed.