Request for Help: Need better guidance for beginners


This morning I happened to see the article “.NET Coding Standard & Code Review Points” linked from the good folks over at DotNetKicks.com.  I was horrified to see some of the very bad guidance being offered here. While I appreciate and applaud the effort and time put in by Mr. Narayan, I feel very strongly that some his guidance can cause great harm to those beginners who might follow it seriously. I hope that you, my dear reader, at least partially agree that many of the elements of this article are just plain wrong, if not dangerous.

To try to turn a negative into a positive, I believe it is incumbent upon us to offer better guidance. Apparently there is a need here and we all are failing to deliver it.  Producing high quality blog posts, contributing to mailing lists and community sites such as CodeProject, Stack Overflow, DotNetSlackers.com, and even the linked site (DotNetFunda.com) is a good start.   It would also be nice, I think, to begin to collect these bits of wisdom and knowledge into a Wiki or some sort of permanent library/collection.

There’s currently the AltNetPedia Wiki which has a lot of material on design, values, and practices but not so much on fundamentals.  Is this a good place to start contributing, or is there another, better place that we should start contributing?  Please let me know or post in comments and let’s get something started here.  Let’s find a home and let’s all contribute at least a little bit to it.

We should welcome differing views and try not to make this library espouse a specific view and note these differences wherever possible. In the same vein, however, I will say that there are some practices and methods that are objectively wrong and harmful (such as not using the using(){} keyword when dealing with IDisposable implementations except in very specific circumstances) and these should also be noted in whatever literary artifacts are produced by this effort.

The Plan

First we need to identify a home for this content.

Second, we need contributors and we’ll need some reviewers and editors to handle any glaring obvious problems (typos, spammers, trolls, etc).

Third, we need a higher level of reviewer/editor to try to pull things together, categorize/tag/organize, etc.

Fourth, we’ll need to encourage people to refer to this material and get the word out and encourage more contribution and review from the wider world.

Fifth, I don’t know yet, but I think we’ll be doing pretty good if we get to this point :)  We’ll figure it out later.

Catching Arguments with Rhino Mocks