You may have noticed that I haven’t posted much in the last week. I was going to post about my week so you know what I’ve been up to and it would have went something like this:
I’m busier than crap at work. We use a certain accounting software to which I am not accustomed and for which I have little respect. Yet, I am using it to the best of my ability and it’s taxing my patience. On top of that, I contracted some form of influenza on Wednesday afternoon. I went home early from work and stayed home all the next day. On Friday, I felt considerably better so I trekked off to work. Two hours later, I was sweating like a whore in church and decided that I may have jumped the gun on my recovery. I spent the remainder of Friday in bed. I watched a movie called Napoleon Dynamite which was recommended to me by a friend. There’s an hour and a half of my life I’ll never get back. In the mean time, I have an Excel project due on Monday that hasn’t been getting the attention it needs. I spent a good deal of Saturday and Sunday on the project and got it done to a reasonable degree. That was in between frequent flu-induced naps and NCAA basketball tournament auction.
But I’m not going to make that post, because it’s too whiny. And that’s just not me. Instead, I’m going to post about MZ Tools. I have recently completed an Excel project that I assumed was far larger than any project that I’ve completed previously. I expected this project to be about 10,000 lines of code which would make it about three times larger than it’s largest predecessor.
Using MZ Tools, I determined that the project was 3,110 lines of code in 118 procedures. That’s an average of 26 lines of code per procedure. The lines per procedure seems quite reasonable to me. I assumed it would be nearly 100 lines per procedure. I thought, as I was writing some of the procedures, that they were getting unwieldy. Maybe 26 isn’t as good as I think. Certainly 3,000 wasn’t what I expected at all. How in heck did I only produce 3,000 lines of code? I’ve spent about 70, or so, hours on this project which means I produced 44 lines of code per hour. That may seem like a decent amount, but I have a confession. I copied a lot of the code.
For example, I used the error handling procedure from Professional Excel Development. The central error handling module is over 100 lines that it took me about five seconds to “produce”. It’s a very nice error handling system. I need to spend some more time under the hood, but I’ve learned quite a bit about it by screwing it up.
My last 3,000 line project was over at least a year and paid by my former employer. It was a nice piece of programming and I had the benefit of being one of the users as well as the developer. I could catch bugs early, fix them on the spot, and redistribute the app before anyone knew what was going on. It seemed like a much smaller project because it was developed over such a long time. As it turns out, it was roughly the same size as this recent project which seems like a gargantuan task.
But this post isn’t about virii or how bad I am at estimating project size. It’s about MZ Tools. A few years ago, I had a big problem with Excel. It would start up and immediately shut down. It started happening about 4:00 PM on a Friday afternoon which is not the time of the week that I’m most productive. With the help of my fellow MVPs, I used the delete-all-add-ins-and-add-them-back-one-at-a-time method to determine if an add-in was the problem. One was. It was MZ Tools. I deleted it and everything worked fine. I didn’t reinstall it. What a mistake that was. I have no idea what the cause of the problem was. I had MZ Tools installed on that machine for easy five years with nary a problem.
Recently, I’ve installed MZ Tools again. I wish I’d done it at the start of this most recent project. It would have saved me a lot of time. It’s what I used to count the code lines, but that’s not even close to its best feature. If you do any half way serious development, I suggest you give it a try.
In conclusion, thanks to John for the referral and if you have any stats for your Excel projects, please share them.