This is just a quick entry to point out a couple of really cool tools for C# that I’ve added to my home brew development setup and have been using in my development work recently.
Design By Contract
Bertrand Meyer has written one of my all time favourite books on object orientation. The “design by contract” concept is a powerful one, however I don’t have time to do it justice, suffice to say I recommend the book if you can get hold of it. Kevin McFarlane is the guy behind a C# implementation of the concept, and I like it. Checking the comments made about Kevins article suggests that there might be an alternative method of accomplishing assertion checking using attributes.
Ant build tool
I came across Ant recently while developing a Tomcat based Java project. I was impressed with its flexibility and started out looking for a .Net version, little did I know that Ant already had a few .Net tasks hidden away, oh yes. Using a text editor to do my programming, rather than an IDE, means that having a good build tool comes in very useful.
NUnit unit-testing framework
NUnit finishes of this little trio by introducing a testing suite into the mix. This is what I use whenever I work with my home brew coding setup. It keeps me sane by making sure I know when I break something, if you haven’t got a testing system set up then you should really think about it.
Recommended Reading
- Object-Oriented Software Construction, 2nd Edition by Bertrand Meyer
- Sharpening Your C# Unit Testing and Debugging Skills by James Brannan [Note: PDF Download]