Definitions¶
This section contains terms and values used in the definitions of the rules set forth in this chapter.
Level¶
Level is the compliance level for the rule. Possible values are:
- Mandatory
Non-compliance with a Mandatory recommendation level corresponds to a high risk of a software bug. There would need to be a good reason for non-conformity to a mandatory rule and, although it is accepted that exceptional cases may exist, any non-conformance should be accompanied by a clear technical explanation of the exceptional circumstance.
- Required
Non-compliance with a Required recommendation level corresponds to a medium to high risk of a software bug. Much like a Mandatory recommendation, there would need to be a good reason for non-conformity to a required rule. Although it is accepted that more exceptional cases may exist, non-conformance should be accompanied by a clear technical explanation of the exceptional circumstance.
- Advisory
Failure to follow an Advisory recommendation does not necessarily result in a software bug; the risk of a direct correlation between non-conformance of an advisory rule and a software bug is low. Non-compliance with an advisory recommendation level does not require a supporting technical explanation, however, as the quality of the code may be impacted, the reason for the non-conformance should be understood.
Remediation¶
Remediation indicates the the level of difficulty to modify/update code that does not follow this particular rule.
- High
Failure to follow this rule will likely cause an unreasonable amount of modifications/updates to bring the code base into compliance.
- Medium
Failure to follow this rule will likely cause a large amount of modifications/updates to bring the code base into compliance, but those changes may still be cost-effective.
- Low
Failure to follow this rule may cause a small amount of modifications/updates to bring the code base into compliance, but those changes will be minor compared to the benefit.
- N/A
This rule is more of a design decision (as opposed to a coding flaw) and therefore, if the rule is violated, it is done so with a specific purpose.