...
Any rule or recommendation may specify a small set of exceptions detailing the circumstances under which the guideline is not necessary to ensure the safety, reliability, or security of software. Exceptions are informative only and are not required to be followed.
Identifiers
Each rule and recommendation is given a unique identifier. These identifiers consist of three parts:
- a three-letter mnemonic representing the section of the standardprefix that represents the topic the rule/recommendation belongs to
- a two-digit numeric value in the range of 00-99
- the letters "CPP" indicate that this is a C++ language guideline
The three-letter mnemonic can be used to group similar coding practices and to indicate to which category a coding practice belongs.
- a suffix that represents the associated language or platform
The numeric value is used to give each coding practice a unique identifier. Numeric values in the range of 00-29 49 are reserved for recommendations, while values in the range of 3050-99 are reserved for rules. (The values used for C are different. It uses 00-29 for recommendations and 30-99 for rules.)
Examples
Here are some example identifiers with an explanation of each:
INT50-CPP Do not cast to an out-of-range enumeration value
“INT” stands for the Integer category
“50” is the unique identifier
“-CPP” stands for the C++ language
EXP00-J Do not ignore values returned by methods
“EXP” stands for the Expressions category
“00” is the unique identifier
“-J” stands for the Java language
INT02-A Do not act on malicious intents
“INT” stands for the Intent category
“02” is the unique identifier
“-A” stands for the Android platform
Supported Languages and Platforms
See the table below for a summary of the current languages and platforms we currently support:
Suffix | Language/Platform |
-A | Android |
-C | C |
-CPP | C++ |
-J | Java |
-P | Perl |