You need to blog. Now.

Seriously. No, I know. Stop it. Stop whining. Yes, they will care what you have to say. No, it hasn’t all been said before. Yes, seriously. Do it. YOU, YES YOU!

The most common excuse for not blogging I hear (including from myself) is “It’s all been said, what can I possibly add?”

While that may be mostly true, what you’re missing is that not everyone is hearing it!  But there are still some gaping voids of content that aren’t adequately covered.

Here’s a few blog ideas I’ve been kicking around and I’ll share them with you so that you can take some of these and run with them. PLEASE GRAB ONE AND GO!  As you blog them, I will link them to you and cross ’em off the list. I’m going to be doing some of them too, but it’s not enough. I need your help. I need differing views. I need conflicting, but useful information to further discussion and stimulate progress.

I’m even going to go so far an pull rank on you and go Catholic:  If you have even the slightest knowledge of these things you have a professional obligation to share that knowledge with as many people as you can. Yes, even if you’re wrong on parts. Yes, even if you’re not sure (just prefix with ‘not sure about this’).  I’d rather have a bunch of 80% right posts out there that we can discuss and critique and further knowledge from than 0 0% right posts out there (which is a lot of what we have right now).

  • Guiding Principles 101:  Single Responsibility Principle, Dependency Inversion Principle, Liskov Substitution Principle, Framework Ignorance Principle, (and others I’m not thinking of right now ’cause it’s late)
    • Entry by Me
    • Dependency Injection 101: Talk about c’tor injection, setter injection, when it’s good, when it’s bad. Talk about the need for interfaces and how they help with this.

      • Inversion of Control 101:  Talk about how to take DI to the next level and automate a lot of it (or push the burden elsewhere).  Use StructureMap, Windsor, or roll your own super-simplistic one to show how things work and then add in one of the big frameworks.

        • Unit Testing 101:  Most people know what unit testing is, but they don’t know that there are _x_Unit frameworks that make it a lot easier. Pick one (NUnit, MBUnit, MSTest) and start from scratch and go through a few dirt simple scenarios
        • ‘Unit Testing 101’ Entry by Brian Sullivan
        • Mocks 101: “I just bought this iMac and now I want to know how to use Rhino Mocks” — the absolute start-from-zero low-down on why mocking and how to use Rhino Mocks (or any other framework for that matter). Many posts out there assume that you have the basic understanding of what Mocks are for and why’d you use them. The vast majority of the .NET developer community has no idea what mocks are for in the first place, let alone how you go about using them. This is a tragedy and we must correct this soon.

          • Unit Testing 201:  Test naming, test file/class/method structure, what to assert, when, and how, etc.

            • Mocks 201: Talk about when to use CreateMock vs. DynamicMock vs. Stub. When to use Expect.Call() vs. SetupResult.For… maybe you might give ’em a glimpse at constraints</ul>  

            That should get you started. I’ll be cooking up some more ideas, but this should be enough to show you that there’s a WEALTH of stuff upon which to blog. Do it now!

Austin TDD CodingDojo Complete