Platform Coding Conventions
This document contains the conventions in force for developing Platform
OS source code. The focus is on C++, but a good number of the conventions
are language generic.
Items not covered yet:
- Portability issues section
- constant strings (TCHAR, etc.)
- structure/class instance data alignment
- endian-ness
- variable decls in for loop statements?
- C++ features we don't use.
- templates
- namespaces
- exceptions
- Casting (static/reinterpret/dynamic macros).
- Copy constructors and assignment operator.
What's New
See the change log.
Chapters
-
Introduction
-
Why standardize? Interpretation. Enforcement. Credits.
-
General Recommendations
-
Recommendations too general to fit into a specific topic or language feature.
-
Source Code Files
-
Naming, file oriented comments and documentation, include files.
-
Documentation
-
Cocoon formatting. Method headers, and other misc commenting standards.
-
Naming Conventions
-
How to name variables, functions, methods, classes, etc.
-
Style and Formatting
-
How code should look.
-
Error Checking Code
-
The assert() macro on steroids.
-
Debug Aid Code
-
How to make debugging easier.
-
Classes
-
Deals with the object oriented aspects of the coding conventions.
-
Functions
-
Conventions dealing with functions and methods.
-
Constants
-
Declaring and defining constants.
-
Variables
-
Naming and use of variables.
-
Pointers and References
-
Issues around pointers and references.
-
Portability
-
Portability issues and standards.