Feb 20
Dishonorable Mentions
NOTE: Since originally published, two things have happend. ReSharper has continued to improve, and most of us have development machines that have enough RAM to get around most of the performance issues that caused it to appear on this list originally. Jim-4/20/13.

I think I've settled on a nice theme with the "A Few Very Useful Tools" series. It helps me think about what I'm using, what I should be looking for, and so on. However, there's another side of the coin, and I think that I would be remiss to neglect to put down a few of the 'tools' that I've come across that have inspired revulsion in me.

  • OpenOffice - I know this is the darling of the Anti-Microsoft community, but seriously, it's been a miserable experience anytime I've tried this garbage-ware. I don't expect OSS to be as polished as commercial software, but when an application (or applications in this case) is positioned as not just an alternative, but the alternative to commercial apps, it really should be a good experience. Bad UI and missing features are one thing, but I've run into one bug after another anytime I've used it, no matter the platform or version. OpenOffice is more about the Anti-Microsoft agenda than about providing quality, functional software. How many hours do I have to lose before the cost of an MS product becomes cheap? Maybe I'm just an 'expert' user of Office and pushing the edges of what OpenOffice can do, but there's only so many exception dialogs I can put up with in an app that should be solid. It's not like I'm pro-MS... after all, I do like and use iWork on the Macs I own.
  • ReSharper - ReSharper positions itself as providing the "missing" functionality in Visual Studio. I will admit that I have mixed up feelings about ReSharper. Almost all of its features are really good, and I particularly like it's unit testing features as well as "collapse all" (ms... hint... you really need this in Solution Explorer). BUT anytime I've seen it used on a large solution (which is to say every project I've found myself in the last couple of years), its performance is LOUSY. I mean pathetic. It's bad enough that VS is struggling under large projects (probably worth another post on that topic), but once you turn on ReSharper, VS becomes unusable. If performance was acceptable, this would be a fantastic tool. When you are waiting 2-3 minutes for the screen to catch up to the keyboard several times a day and generally feeling like you're running in molasses, life is not good.
  • StyleCop - One of the worst things ever released by Microsoft, even if it is freeware. Seriously, there's little to nothing this 'tool' does that shouldn't just be done by the IDE. Instead, it adds to your build time, and then throws errors because you forgot to put an extra return after a closing '}' and similar silliness. It's particularly fun when you get out of sync with the rules on your local environment vs. the build server. You commit, then it pukes all because you exceeded 120 characters on a line (when we all have widescreen monitors!) What kills me most is that the default rules of StyleCop actually contradict Visual Studio's defaults in some cases. Why does MS produce an IDE with one set of rules and then create a tool to check style that does the exact opposite? It also requires comments all over the place. Comments are nice when they are useful, but they are actually harmful when someone is just putting in comments because the tool told them they had to do so. That leads to comments such as "Gets the name." for a method named "GetName". Err... duh. I've seen this used by people who think somehow they are increasing the quality of the application they are building, but the reality is that it doesn't affect the actual output of your compiler, just the code the developer sees. In the end, it is not a replacement for FXCop or other static analysis tools. The good news is that much of what it wants to whine about can be fixed with a quick CTRL-K, CTRL-D. The whole tool violates the philosophy of "Make it easy to do things right". Again, if it matters, why doesn't the IDE just do most of it automatically? Give me tools that help me, not constrain me!
So there's some things I recommend staying away from that may help you out. ReSharper is one I really would like to put on my "A Few Very Useful Tools" list, but bad execution is its Achilles Heel. The same can be said for OpenOffice (I would really like to see a viable multi-platform Office alternative). Style Cop is flawed from the get go. There's little it offers that FXCop doesn't or shouldn't just be made easy by the IDE. Maybe that means it's an admission of guild on MS's part? Ok, that's harsh, but it's inevitable to get to that thought!