Today I learned how Jean-Paul Boodhoo structures directories in his projects and compiles his code with NAnt. I use a similar approach so the posts reinforced my confidence that this is the right way to go (one might even say that such a layout is very ALT.NET-ish). What I liked the most, however, were not the folder structure ideas themselves, but an idea to use Visual Studio merely as a code editor (with ReSharper it might even be a really good editor).
The benefits, for me, include:
- reduced compile time for large projects,
- flexibility of code structure and layout,
- ease of including and excluding folders with source code to compile for different targets (you can easily exclude test code, for instance).
What Jean-Paul suggests and that I haven't tried out yet is to use a single C# project to keep all the source code files (including tests, if I understood him well) and making a developer responsible for clean separation of components. It's worth noting that it doesn't force an entire project to be compiled to a single assembly. NAnt is really showing its flexibility in tasks like these.
I had a chance to use such an approach on two projects that I have been on and my experience is that delivery of those projects was a superior experience. Automated testing and deployment are much easier to set up when one abandons Visual Studio.
By the way, have you read an article "Does Visual Studio Rot the Mind?" by Charles Petzold? Absolutely fantastic piece of well-thought Visual Studio criticism.
P.S. Did anybody except for me noticed that Scott Hanselman is now working for Microsoft?
10-02-2007 2:45 PM