Next:
List of Figures
Up:
Software Development and Coding
Previous:
Contact Information
Contents
Preface
Where and who is Waldo?
Resources
Contact Information
Contents
List of Figures
List of Tables
Introduction
What are Software Development and Coding Standards and why do we need them ?
Scope
Document layout and conventions
Directory Structure
General Naming Conventions
File Extensions
File Names
Class Names
Begin all class and struct names with C or a unique project specific identifier
Variables
Use Simplified Hungarian Notation for variable names
Do not use _ to prefix any identifier names
File Structure
Header File
Header File Template
Source File Template
Class Interface
Data hiding
Virtual destructor
Order by access level
getState(), setState(), and isProperty()
Parameter Passing
What does a pointer imply?
Using const
What does const mean when it's on the right-hand side of a class member function declaration?
It is about as powerful as a mall cop
Use const instead of #define
Templates
Use reasonable names for your template parameter variables
Use all capital letters on parameter names
Postfix _TYPE onto the end of parameter names
Use typedef to make using your template classes easier to use
Enumerations
Class Member Declaration List
Reference Counting
Multiple Constructors in a Class
Do not Be Too Hasty
Namespaces
Debugging
Permanent Debug Code
Development Flags
Code Requiring Additional Work
Code Requiring Addtional Testing and Fixing
Missing impementation
Documentation
Class documentation
Function documentation
Tips and Tricks
Pointers
Copy constructor and assignment operator relationship?
Passing structs as parameters
Equality expression evaluation: (1 == n), (1 <= n), etc.
Versioning
Line grouping and commenting
Discussion Points
Error handling
About this document ...
Falko Kuester 2001-08-24