The metrics included with Understand have evolved over many years to accommodate common customer requests. However, we recognize that you may need something different. To help you develop custom metrics there is a full API interface to the Understand database as well as a fully developed plugin mechanism.
For a full description and definition for these metrics, Open Understand and go to Metrics->Browse Metrics and then click, “Metrics Definitions,” in the top right corner of the metrics browser.
Here is a pdf containing a list of all metrics and a description of how they are calculated.
Name | Also Known As | API ID |
---|---|---|
Average Lines | AvgCountLine | |
Average Blank Lines | AvgCountLineBlank | |
Average Blank Lines (Includes Inactive) | AvgCountLineBlankWithInactive | |
Average Code Lines | AvgCountLineCode | |
Average Code Lines (Includes Inactive) | AvgCountLineCodeWithInactive | |
Average Comment Lines | AvgCountLineComment | |
Average Comment Lines (Includes Inactive) | AvgCountLineCommentWithInactive | |
Average Cyclomatic Complexity | AvgCyclomatic | |
Average Modified Cyclomatic Complexity | AvgCyclomaticModified | |
Average Strict Cyclomatic Complexity | AvgCyclomaticStrict | |
Average Strict Modified Cyclomatic Complexity | AvgCyclomaticStrictModified | |
Average Essential Complexity | AvgEssential | |
Average Strict Modified Essential Complexity | AvgEssentialStrictModified | |
Base Classes | IFANIN | CountClassBase |
Coupled Classes | Chidamber & Kemerer - Coupling Between Objects (CBO) | CountClassCoupled |
Coupled Classes Modified | CountClassCoupledModified | |
Derived Classes | Chidamber & Kemerer - Number of Children (NOC) | CountClassDerived |
Classes | CountDeclClass | |
Class Methods | CountDeclClassMethod | |
Class Variables | Lorenz & Kidd - Number of Variables (NV) | CountDeclClassVariable |
Executable Units | CountDeclExecutableUnit | |
Files | CountDeclFile | |
Code Files | CountDeclFileCode | |
Header Files | CountDeclFileHeader | |
Functions | CountDeclFunction | |
Instance Methods | Number of Instance Methods (NIM) | CountDeclInstanceMethod |
Instance Variables | Number of Instance Variables (NIV) | CountDeclInstanceVariable |
Internal Instance Variables | CountDeclInstanceVariableInternal | |
Private Instance Variables | CountDeclInstanceVariablePrivate | |
Protected Instance Variables | CountDeclInstanceVariableProtected | |
Protected Internal Instance Variables | CountDeclInstanceVariableProtectedInternal | |
Public Instance Variables | CountDeclInstanceVariablePublic | |
Methods | Chidamber & Kemerer - Weighted Methods per Class (WMC) | CountDeclMethod |
All Methods | Chidamber & Kemerer - Response for a Class (RFC), Lorenz & Kidd - Number of Methods (NM) | CountDeclMethodAll |
Const Methods | CountDeclMethodConst | |
Default Methods | CountDeclMethodDefault | |
Friend Methods | Lorenz & Kidd - Number of Friends (NF), Number of Friend Methods (NFM) | CountDeclMethodFriend |
Internal Methods | CountDeclMethodInternal | |
Private Methods | Number Private Methods (NPRM) | CountDeclMethodPrivate |
Protected Methods | CountDeclMethodProtected | |
Protected Internal Methods | CountDeclMethodProtectedInternal | |
Public Methods | Lorenz & Kidd - Number of Public Methods (PM, NPM) | CountDeclMethodPublic |
Strict Private Methods | CountDeclMethodStrictPrivate | |
Strict Published Methods | CountDeclMethodStrictPublished | |
Modules | CountDeclModule | |
Program Units | CountDeclProgUnit | |
Properties | CountDeclProperty | |
Auto-Implemented Properties | CountDeclPropertyAuto | |
Subprograms | CountDeclSubprogram | |
Inputs | FANIN (Infomational fan-in) | CountInput |
Lines | Number of Lines (NL) | CountLine |
Blank Lines | Blank Lines of Code (BLOC) | CountLineBlank |
Blank Lines (HTML) | CountLineBlankHtml | |
Blank Lines (JavaScript) | CountLineBlankJavascript | |
Blank Lines (PHP) | CountLineBlankPhp | |
Blank Lines (Includes Inactive) | CountLineBlankWithInactive | |
Code Lines | Lines of Code (LOC), Source Lines of Code (SLOC) | CountLineCode |
Declarative Code Lines | CountLineCodeDecl | |
Executable Code Lines | CountLineCodeExe | |
Code Lines (JavaScript) | CountLineCodeJavascript | |
Code Lines (PHP) | CountLineCodePhp | |
Code Lines (Includes Inactive) | CountLineCodeWithInactive | |
Comment Lines | Comment Lines of Code (CLOC) | CountLineComment |
Comment Lines (HTML) | CountLineCommentHtml | |
Comment Lines (JavaScript) | CountLineCommentJavascript | |
Comment Lines (PHP) | CountLineCommentPhp | |
Comment Lines (Includes Inactive) | CountLineCommentWithInactive | |
Lines (HTML) | CountLineHtml | |
Inactive Lines | CountLineInactive | |
Lines (JavaScript) | CountLineJavascript | |
Lines (PHP) | CountLinePhp | |
Preprocessor Lines | CountLinePreprocessor | |
Outputs | FANOUT (Infomational fan-out) | CountOutput |
Coupled Packages | CountPackageCoupled | |
Paths | NPATH | CountPath |
Paths Log(x) | CountPathLog | |
Semicolons | CountSemicolon | |
Statements | CountStmt | |
Declarative Statements | CountStmtDecl | |
Declarative Statements (Javascript) | CountStmtDeclJavascript | |
Declarative Statements (PHP) | CountStmtDeclPhp | |
Empty Statements | CountStmtEmpty | |
Executable Statements | CountStmtExe | |
Executable Statements (JavaScript) | CountStmtExeJavascript | |
Executable Statements (PHP) | CountStmtExePhp | |
Cyclomatic Complexity | McCabe - McCabe Cyclomatic Complexity, CC | Cyclomatic |
Modified Cyclomatic Complexity | McCabe - McCabe Modified Cyclomatic Complexity, CC3 | CyclomaticModified |
Strict Cyclomatic Complexity | McCabe - McCabe Strict Cyclomatic Complexity, CC2 | CyclomaticStrict |
Strict Modified Cyclomatic Complexity | CyclomaticStrictModified | |
Essential Complexity | ev(G) | Essential |
Strict Modified Essential Complexity | EssentialStrictModified | |
Knots | Knots | |
Max Cyclomatic Complexity | MaxCyclomatic | |
Max Modified Cyclomatic Compexity | MaxCyclomaticModified | |
Max Strict Cyclomatic Complexity | MaxCyclomaticStrict | |
Max Strict Modified Cyclomatic Complexity | MaxCyclomaticStrictModified | |
Max Essential Complexity | MaxEssential | |
Max Essential Knots | MaxEssentialKnots | |
Max Strict Modified Essential Complexity | MaxEssentialStrictModified | |
Max Inheritance Tree | Chidamber & Kemerer - Depth of Inheritance Tree (DIT) | MaxInheritanceTree |
Max Nesting | MaxNesting | |
Min Essential Knots | MinEssentialKnots | |
Percent Lack Of Cohesion | Chidamber & Kemerer - Lack of Cohesion in Methods (LCOM/LOCM), LCOM2 | PercentLackOfCohesion |
Percent Lack Of Cohesion Modified | PercentLackOfCohesionModified | |
Comment to Code Ratio | RatioCommentToCode | |
Sum Cyclomatic Complexity | Chidamber & Kemerer - Weighted Methods per Class (WMC) | SumCyclomatic |
Sum Modified Cyclomatic Complexity | SumCyclomaticModified | |
Sum Strict Cyclomatic Complexity | SumCyclomaticStrict | |
Sum Strict Modified Cyclomatic Complexity | SumCyclomaticStrictModified | |
Sum Essential Complexity | SumEssential | |
Sum Strict Modified Essential Complexity | SumEssentialStrictModified |