I frequently get e-mails from people that have been at my talks about the theme I use in Visual Studio. Instead of continuing to reply individually, I've decided to point them to this blog post from now on. As a long-time Delphi user I've been used to the dark background (Twilight is it's name in Delphi) and find it much easier on the eyes. In Visual Studio I'm using a variation of Rob Conery's theme which in itself is a variation of Jon Lam's theme.
A lot of times when you're introduced to Unit Testing, you're sold on the fact that it's the best way to have regression testing in place. That's 100% accurate. Whether you practice Test Driven Development or take a test-after (test-last, POUT, whatever you want to call it….) approach, creating unit tests allows you to test changes in your code and make sure that bug fix, change or new feature hasn't broken any functionality. However, one of the great added values to Unit Testing that often doesn't get as much attention as it should, although always present, is documentation.
How many times have you come across some piece of code that you needed to change and was wondering why you did something the way you did? Talk to your colleagues, look for documentation, look for comments, only to find nobody recalls anything and not one word jotted down anywhere about it. This is where a good suite of unit tests come in handy. If you have tests that verify behavior of your code, and also make sure that your code coverage is quite high (over 80%), you have a good chance to find out why something is coded in a particular way. Even if you don't name your tests with a "specification orientated" convention, it is still very valuable to know that when you make that change, your tests still run. And the higher the code coverage, the less chances are that something will fail on deployment.
So whether or not you or your colleagues recall why you did something in a particular way, you might not need to if you document your code with tests.
Many know I've been a Finalbuilder fan from day one. Recently they came out with a server version of their product which allowed you to run builds unattended on some machine (different from automated builds based on Windows Scheduler). However, it still lacked some of the main features demanded by a proper Continuous Integration tool.
Well they've just released FB 6 along with the server version and I'm really impressed. Just look at the feature set here. I'm really desperate to try it out and the first thing I'm going to do is create continuous builds for Intraweb. I've been spending the past week cleaning up our build process and this will be the perfect opportunity to test out FB6. Great timing.