From January through April 2005, MSDN posted a series of webcasts of some internal training that Brad Abrams and others held for Microsoft developers. There are 15 in the series. If you have not seen them, they are highly recommended. Even if you are not developing class libraries, they explain quite a bit about standards.
After popular demand following the second presentation, Brad posted an Internal Coding Guidelines document to his blog. You may not agree with everything, but it is a great starting point for code standardization within your projects.
The blurb describing the webcast series is as follows:
“The Designing .NET Class Libraries series presents design guidelines for developing classes and components that extend the .NET Framework. The goal of the Designing .NET Class Libraries series is to encourage consistency and predictability in public APIs while enabling Web and cross-language integration. The guidelines presented in Designing .NET Class Libraries are intended to help class library designers understand the trade-offs between different solutions. There might be situations where good library design requires that you violate these design guidelines. Such cases should be rare, however it is important that you provide a solid justification for your decision.”
Topic List:
- Setting the Stage
- Naming Conventions
- Rich Type System
- Member Types
- Designing Inheritance Hierarchies
- API Usability
- Designing Progressive APIs
- CLR Performance Tips
- Designing for a Managed Memory World
- Understanding Interoperability
- Packaging, Assemblies and Namespaces
- FxCop in Depth
- Enabling Development Tools
- Security
- Conclusion and Q&A Session