Infrastructure Updates

A few updates on the infrastructure project I’ve been putting together on at github/infrastructure.

Javascript Enabling TDD

First steps toward enabling TDD Javascript by adding QUnit.  Now that the framework is available, I’ll have it added to the next template update.

Globalization

I will at some point have a blog entry put together and published on how I put this together.  It is a simple implementation of globalization, and will also be in the next template version.

Fizzware NBuilder, CSS Templates, NHibernate, FluentMigrator, and other bits

These parts have been added via Nuget, however, I haven’t determined the ideal way to include the includes (see what I did there!).  For the next template though, I’m going to make a command decision and have that implemented for the template.  Either a scripted Nuget install, inclusion of the assemblies, or otherwise.

Iteration End, Velocity++, Chart Awesomeness, Contribute Back Plz K Thx!

Here’s a few charts and such from the end of an iteration that the team I’m on just wrapped.  I’d love to see any TFS charts of this nature or other solutions in JIRA, TeamCity, or whatever is used.  Anyone else out there want to get a blog post up about it, I’ll add a link at the end of my entry here.

Lots of Tests, Good Continuous Integration Build
Lots of Tests, Good Continuous Integration Build

Gotta have solid test coverage for any reasonable expectation of maintenance.  When I mean tests, I’m talking about properly abstracted, mocked, stubbed, faked, or otherwise built so as they don’t depend on all sorts of nonsensical external dependencies like file systems, database, or other things.

Code Coverage, in general keeps an upward trend!
Code Coverage, in general keeps an upward trend!

100% is a little fanatical, but an upward trend after the beginning of a project and the initial work beginning is one of the best things to see.  Code coverage with tests means you’ll be able to get all sorts of goodies:  maintainable code, non-increasing tech debt, faster refactors, etc.

The Few Fixes Needed, Get Fixed Pretty Quick!
The Few Fixes Needed, Get Fixed Pretty Quick!

Unit test fixes.  Should be quick, should be furiously done, and shouldn’t take more than about an hour on the infrequent times they occur at all.

Unit Test Coverage Up...
Unit Test Coverage Up...
Increasing Count
Increasing Count

…and of course, the burn down.

BURN baby BURN!

Burn Down
Burn Down

Infrastructure Drops Entity Framework in Favor of NHibernate

I did some searches for tutorials on Entity Framework (EF) + Code First.  Most of the tutorials I found involved clicking on some design time view and right clicking to add columns, then clicking and right clicking to generate the code first SQL.  It was neat, it was clean, and it was sort of fast.  However, it didn’t beat FluentNHibernate in cleanliness.  There still ended up being some huge and nasty generated (from the design time) file and some other things that just didn’t sit well with me.  With the host of other things that are just now getting developed for EF that have been in NHibernate for ages I’ve decided to yank Entity Framework support for now and just stick to NHibernate + FluentNHibernate.  Simply, it just works better and I have more immediate support, feedback, and input into what is available with NHibernate.  For Entity Framework nobody really has any of that, one has to wait for the Microsoft machine to move forward on design decisions before something gets dropped either via a proper version or CTP.  I’ll stick to the more responsive open source solution, k thx.  🙂

HOWEVER, In the future I do intend to add Entity Framework support, I’m just not spending the time right now.  I’d be perfectly happy if someone else wants to do so, just let me know…

In other news from the UI from of the Infrastructure Project, I’ve made another decision to use the Zen Garden CSS to setup the original layouts & such.  Since it is the UI, I thought that going with something that designers are more familiar with instead of the ASP.NET MVC Themes oddities (which I don’t even really know where they’re hiding those these days) would make things even simpler from that aspect.  A clear separation of concerns for devs vs. graphic artists & layout pros.

Anyway, that’s all committed and I’ll be building a new template before the end of this week.  As always, if you’re interested in adding to the project, or just using it, I’d love any and all feedback.

ASP.NET MVC 3 w/ Razor Infrastructure Template

I decided, after poking around with Visual Studio 2010 Templates tonight, to publish a baseline infrastructure using ASP.NET MVC 3 w/ Razor, Entity Framework, and other elements using the .NET stack.  So far I’ve only got some skeleton code put together for the infrastructure project and posted it to my github repo.  I’d be open to fellow contributors or suggestions on what else I could or should fill out in the baseline template.  Give it a view and let me know what you think.

Over the next few weeks (months, etc) I’ll be updating this and filling out more of the patterns that one might use around Entity Framework, ASP.NET MVC 3, etc to enable good Test Driven Development.

-Adron, infrastructuralist.  🙂

Circle Pull Explosion!

The Inception of Circle Pulling from Bobby Johnson on Vimeo.

Also check out Bobby’s Cover here and here of the Harmony Hill Hackathon!  It was a blast.  🙂