This document defines the TomTom C++ Coding Standard. The coding standard consists of rules and recommendations for C++ code written and/or maintained by the TomTom SW departments. It replaces department specific C++ coding standards [Schaick] and [Tongeren].
This coding standard applies to all C++ code that is written and/or maintained by TomTom SW engineers. Any TomTom code that is compiled by a C++ compiler is C++ code, and must therefore comply with this coding standard.
The coding standard is based on the rules and recommendations of several sources. These include "Industrial Strength C++" [ISC++], "Philips Medical Systems C Coding Standard" [Hatton], "PMS-MR C++ Coding Standard" [Tongeren], and "CIS C++ Development Guidelines" [Schaick].
The procedure to be followed when a rule must be broken is outside the scope of this document. This procedure should be defined at project or department level.
This coding standard specifies rules
The TomTom C++ coding standard does not attempt to teach how to design effective C++ code. It also does not categorically rule out any programming idioms that C++ is designed to support. Background information on the rationale for C++ language design decisions are documented in [StroustrupDE]. Applying C++ effectively is the subject of e.g. [Stroustrup], which also lists many useful advises at the end of each chapter.
The coding standard document consists of a set of rules. Rules are grouped together logically into so called categories. Each chapter deals with one category. A rule description contains the following items: