(I originally posted this on my MSDN blog.)
I should have posted this before Halloween when I was first thinking about it, but hey, better late than never. Here’s what I wrote on Twitter:
I would add that the area I was working on went from 6,800 executable lines to 3,200 executable lines. (Executable lines is so much smaller than text lines because Visual Studio is really conservative about what it considers an executable line. Interface definitions don’t count at all, for example.) The smaller number includes all of the unit tests I added for the code I rewrote, so the amount of code I removed is even larger than it appears.
Believe me, these numbers have nothing to do with my skills as a programmer. Rather, they reflect my, um, target-rich environment. When a code base is yanked this way and that over several years without much thought given to the overall cohesive direction of the project, a lot of cruft builds up. A little time (ok, a lot of time) spent thinking about what the code is actually supposed to accomplish clarifies a lot of things.