VC++, C#, VB.NET Coding Guideline of All-In-One Code Framework
The coding standards for native C++ and .NET (C# and VB.NET) programming used by the All-In-One Code Framework team is now available to everyone. The Microsoft All-In-One Code Framework project team writes code samples based on this guideline.
Download: https://1code.codeplex.com/releases
The coding standards are continuously evolving. If you discover a new best practice or a topic that is not covered, please bring that to the attention of the All-In-One Code Framework Project Group (onecode@microsoft.com). I look forward to appreciating your contributions. :-)
Table of Contents
1 Overview.......................................................................................................................... 1
1.1 Principles & Themes................................................................................................. 1
1.2 Terminology................................................................................................................ 1
2 General Coding Standards........................................................................................ 3
2.1 Clarity and Consistency........................................................................................... 3
2.2 Formatting and Style................................................................................................ 3
2.3 Using Libraries........................................................................................................... 5
2.4 Global Variables........................................................................................................ 5
2.5 Variable Declarations and Initalizations............................................................. 5
2.6 Function Declarations and Calls............................................................................ 6
2.7 Statements................................................................................................................... 8
2.8 Enums............................................................................................................................ 8
2.9 Whitespace................................................................................................................ 13
2.10 Braces........................................................................................................................... 14
2.11 Comments................................................................................................................... 15
2.12 Regions........................................................................................................................ 23
3 C++ Coding Standards............................................................................................ 25
3.1 Compiler Options................................................................................................... 25
3.2 Files and Structure.................................................................................................. 26
3.3 Naming Conventions............................................................................................. 27
3.4 Pointers...................................................................................................................... 30
3.5 Constants................................................................................................................... 31
3.6 Casting....................................................................................................................... 32
3.7 Sizeof.......................................................................................................................... 32
3.8 Strings........................................................................................................................ 33
3.9 Arrays......................................................................................................................... 34
3.10 Macros........................................................................................................................ 35
3.11 Functions..................................................................................................................... 35
3.12 Structures................................................................................................................... 38
3.13 Classes........................................................................................................................ 38
3.14 COM............................................................................................................................ 44
3.15 Allocations.................................................................................................................. 45
3.16 Errors and Exceptions............................................................................................. 46
3.17 Resource Cleanup..................................................................................................... 48
3.18 Control Flow................................................................................................................ 50
4 .NET Coding Standards............................................................................................. 54
4.1 Design Guidelines for Developing Class Libraries........................................ 54
4.2 Files and Structure................................................................................................... 54
4.3 Assembly Properties............................................................................................... 54
4.4 Naming Convensions............................................................................................. 54
4.5 Constants................................................................................................................... 57
4.6 Strings......................................................................................................................... 58
4.7 Arrays and Collections........................................................................................... 59
4.8 Structures.................................................................................................................... 61
4.9 Classes......................................................................................................................... 62
4.10 Namespaces................................................................................................................ 65
4.11 Errors and Exceptions.............................................................................................. 65
4.12 Resource Cleanup...................................................................................................... 68
4.13 Interop........................................................................................................................... 80
Comments
Anonymous
August 12, 2010
Thanks for sharingAnonymous
August 28, 2012
Where is the download? Has it been removed?