TICS Coding Standard Viewer 
TIOBE Software Quality Framework
Print-friendly version
©TIOBE Software www.tiobe.com
 
C++ Coding Standard
Search

Change History

5.2 — 2016-05-18
Description Update the tom-tom specific rules to point to Confluence pages.

5.1.9 — 2016-03-22
Description Replaced references to Philips in GEN#002 to TomTom

5.1.8 — 2015-11-20
Description The header guard rule should not be checked, since the rule does not match TomTom expectations.

5.1.7 — 2015-11-01
Description Set rule POR#035 to obsolete.

5.1.6 — 2015-10-23
Description The copy right text from Legal is updated in the copyright rules.

5.1.5 — 2015-03-06
Description Renamed coding standard from Philips to TomTom (ticket 14885)

5.1.4 — 2013-12-19
Description Add explicit rules to keep from CT

5.1.3 — 2013-12-19
Description Removed broken log rule.

5.1.2 — 2013-12-19
Description Link to CT Guidelines.

5.1.1 — 2013-11-25
Description added TT001, TT002 and TT008 from TomTom Internal rules

5.1  — 2013-10-09
Description Paul Jansen (TIOBE)
- Prepared standard for usage within TomTom
- Removed rules INT#002, INT#006, PCA#010, PCA#011

5.0 (Authorized) — 2013-01-22
Description Paul Jansen (TIOBE)
- Processed review comments.
- RTC-2529: added rule CON#008.
- RTC-11836: removed functions from rule PRE#001 and changed severity level.

4.1 — 2012-11-01
Description Paul Jansen (TIOBE)
- RTC-1424: changed rule CFL#016 to use cyclomatic complexity.
- RTC-6472: added a rationale to rule POR#025.
- RTC-6982: added an exception for "stdafx.h" to rule ORG#005.
- RTC-6983: removed rule PCA#012.
- RTC-6985: added a rationale to rule CON#006.
- RTC-8478: introduced new rule POR#038.
- RTC-9098: added built-in type conversions to rule CON#004 and improved its description.
- RTC-10095: removed the following rules as discussed by the C++ coding standards refresh team: CFL#003, CFL#008, CFL#010, CFL#012, CFL#015, CFL#021, CFL#023, CFL#024, COM#001, COM#004, COM#007, CON#003, CON#005, ERR#004, ERR#007, ERR#008, ERR#009, ERR#013, GEN#001, GEN#003, INT#003, INT#004, INT#005, INT#007, INT#009, INT#012, INT#013, INT#016, INT#017, INT#018, INT#019, INT#024, INT#025, NAM#001, NAM#004, NAM#006, NAM#007, NAM#009, NAM#010, NAM#011, NAM#012, NAM#015, OAL#001, OAL#010, OLC#007, OLC#011, OLC#013, OLC#014, OOP#010, OOP#012, OOP#014, OOP#015, OOP#016, OPT#003, ORG#008, PCA#004, PCA#014, PCA#015, POR#023, POR#024, POR#026, POR#027, POR#034, STA#003, STY#001, STY#003, STY#005, STY#007, STY#008, STY#009, STY#010, STY#011, STY#012, STY#013, STY#014, STY#015, STY#016, STY#019, STY#021, STY#023, STY#026, STY#027, STY#030, STY#031.
- RTC-10095: Adapted the following rules as discussed by the C++ coding standards refresh team: CFL#014, CFL#016, CFL#018, COM#002, CON#006, INT#006, INT#008, INT#014, OLC#009, OLC#010, OLC#012, OLC#019, OOP#002, OOP#005, OOP#006, OOP#007, ORG#007, PCA#009, POR#035.

4.0 (Authorized) — 2012-04-25
Description Issam Tlili
Reworked version after review of version 3.1

3.1 — 2012-02-14
Description Issam Tlili
WI-952: adapted description of OLC#012.
WI-953: in OLC#016 aligned the C++ implementation with the C# implementation.
WI-970: new C++ rule STY#031.
WI-984: exclude namespaces from rule STY#009.
WI-988: relax the allowed extension for include files.
WI-992: in POR#003 changed severity level to level 4.
WI-993: adapted the description in CON#001, in CON#003 removed the second part of the description, it is already mentioned in CON#001.
WI-1002: added exception for const array definition in OLC#009.
WI-1040: adapted ERR#005 and CON#004.
WI-1057: adapted STY#012 and STY#013.
WI-1058: adapted rule for ternary operators.
WI-1003: added description for OLC#018.
WI-954: new rule INT#030.
WI-1079: adapted description of OAL#005, and removed reference to OLC#013.
WI-1086: adapted INT#013.
WI-1415: adapted OLC#019.
WI-1091: removed OLC#015, in CFL#023 removed reference to OLC#015.
WI-1239: new rule NAM#015, removed NAM#003, NAM#005, NAM#014 and STY#022.

3.0.1 — 2011-11-22
Description Issam Tlili
Draft, preparations for 3.1

3.0 (Authorized) — 2010-08-27
Description Issam Tlili
Reworked version after review of version 2.4

2.4 — 2010-07-08
Description Issam Tlili
Reworked version after review of version 2.2
Set rule CFL#024 to the right Category (CFL).

2.3 — 2010-07-08
Description Issam Tlili
Reworked version after review of version 2.2
Rule STY#031 moved to CFL#24

2.2 — 2010-05-17
Description Issam Tlili
IM-TA00006832: Adapt STY#024 for include naming.
IM-TA00006738: Clarified description in POR#003.
IM-TA00006714: New rule STY#030 for useless statements.
IM-TA00006103: New rule OLC#020; don't pass member variables to the base class in the constructor.
IM-TA00005056: Rule moved from POR#013 to GEN#003, and adapted synopsis.
IM-TA00004284: POR#018; severity changed to level 1.
IM-TA00002758: New rule OOP#018 for overriding const member function.
IM-TA00002632: New rule INT#029; Use built-in boolean type where possible.
IM-TA00002631 and IM-TA00002630: New rule CON#007; Do not convert implicitly from a boolean type to a non-boolean type.

2.1 — 2010-05-17
Description Issam Tlili
IM-TA00006832: Adapt STY#024 for include naming
IM-TA00006738: Clarified description in POR#003
IM-TA00006714: Add rule for useless statements

2.0 (Authorized) — 2009-04-15
Description Vic Henderikx
Reworked version after review of version 1.7

1.7 — 2009-03-18
Description Vic Henderikx
IM-TA00004418: PCA#001: also forbid functions using old C-style allocation
IM-TA00004585: NAM#005: allow m_PascalCase for member variables
IM-TA00004654: removed NAM#013; added ORG#011: always namespaces
IM-TA00005570: Added OAL#010: don't overload new or delete
IM-TA00005054: CON#004 now level 1; added CON#006 reinterpret_cast; updated CON#001 (removed reinterpret_cast)
IM_TA00004313: OLC#017 also for pointers to all types
IM_TA00004589: ERR#017 added: catch_all must rethrow
IM_TA00004789: ORG#001: also allow #pragma once
IM_TA00004884: STY#010: remove part about repeating "virtual" or "static" in comment
IM_TA00004891: CFL#021: non-simple types iso user defined types
IM-TA00005040: OOP#008: "in a class" -->  "in a class or in a namespace"
IM-TA00004398: INT#020: use * or & for class-typed arguments; now also for structs
IM-TA00005407: new rule POR#036: don't use parenthesis when declaring a class variable using default constructor
IM-TA00004890: removed OLC#013 about not giving values to simple types in destructors

1.6.1 — 2008-11-26
Description 

Vic Henderikx

PCA#001: also avoid functions using C-style allocators


1.6 — 2008-05-22
Description Vic Henderikx Added PCA#013 (avoid trigraphs) POR#010 is not checked by TICS (decision CCB)

1.5 — 2008-05-21
Description Changed PMS to Philips Healthcare for rule GEN#002

1.4 — 2008-04-25
Description Daan van der Munnik
changed PMS to Philips Healthcare

1.3 — 2008-04-25
Description Vic Henderikx
IM-TA00003860 (CON#002 set from level 1 to level 2)
IM-TA00004003 (Removed STY#028)
IM-TA00003640 (Rephrased OLC#015)
IM-TA00004004 (INT#002: Removed paragraph about naming of members)
IM-TA00004005 (Removed INT#016)

1.2 — 2008-04-25
Description Update Philips Logo

1.1 — 2008-04-25
Description Initial Import from firebird to oracle