Monthly Archives: January 2010

Microsoft C# Design Guidelines and Naming Conventions

Each time a new project is started, there is always a discussion (or there should be!) of what guidelines should be used in design, naming conventions, etc.

I typically like to defer to the standards given by the company that creates the language, and then define any differences. For the case of C# and .NET languages, this means WWMD (What Would Microsoft Do).

Here is a link to the Design Guidelines for Developing Class Libraries from msdn:

Subsections of this main topic are:

  • Guidelines for Names
  • Type Design Guidelines
  • Member Design Guidelines
  • Designing for Extensibility
  • Design Guidelines for Exceptions
  • Usage Guidelines

This is a pretty good specification, even getting down to capitalization schemes.  And between this and Code Complete, I have found that almost all questions that come up can be addressed.