Ain’t no call for Castaneda in my front-line library

With apologies to the Alabama 3, here’s mine. I use these applications and software libraries on most projects.

Tools

Visual Studio 2008 Professional. I’ve played with the free offerings, and used Eclipse with the InterAkt JavaScript but now that VS2008 support JavaScript well enough for my needs, this is where I spend most of my coding hours.

NUnit. I’ve been using NUnit for a long time. The new 2.5 beta includes a couple of lovely enhancements – the ability to parameterize tests using attributes, and a new method in the Assert class. Example:

[TestCase (2,2)]
public void SomeTest (int a, int b) {
string something = (a * b).ToString();
Assert.That(something, Is.Not.Null);
}

Subversion with TortoiseSVN for source code control. Please, please don’t use Visual Source Safe.

Database

Active Record saves a ton of time. Take care to get familiar with lazy loading and with how you can use Expressions to build complex queries. Also please do use ActiveWriter as your modelling tool for Active Record. I’m using these tools on a project right now, and I’m really pleased with the productivity we’ve gained.  I recommended them for a project earlier this year, but it was viewed as being a little too scary by the person leading development there. I reckon it would have saved maybe two man-months worth of effort on a six month project.

Web Development

JQuery. The pre-eminent client-side library.

ASP.NET MVC. Could this be the answer to over-complex, convoluted ASP.NET code? I’m beginning to think so.

Content Management

Umbraco. The gold standard in open-source content management. I’ve noticed a depressing tendency to overlook the value of content management systems in developing web applications. Using Umbraco as your main development framwework with asp.net web controls seems like a sweet spot.

Project Management

Its got to be a pragmatic approach based on Agile principles. Right now, AcuNote is my scrum tool of choice.

Other

Executable compressor: NETZ – a great way of packing all your .NET assemblies into a single executable.

Installer: If I don’t need a corporate .msi instaler, then Inno Setup is the clear winner, with ISTool for building the install script.

Online resources: StackOverflow. An old idea (I remember asking questions and answering others questons on Compuserve in the late 80s) done remarkably well.