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.

API Name | Friendly Name | Description |
---|---|---|

AltAvgLineBlank | Average Number of Blank Lines (Include Inactive) | Average number of blank lines for all nested functions or methods, including inactive regions. |

AltAvgLineCode | Average Number of Lines of Code (Include Inactive) | Average number of lines containing source code for all nested functions or methods, including inactive regions. |

AltAvgLineComment | Average Number of Lines with Comments (Include Inactive) | Average number of lines containing comment for all nested functions or methods, including inactive regions. |

AltCountLineBlank | Blank Lines of Code (Include Inactive) | Number of blank lines, including inactive regions. |

AltCountLineCode | Lines of Code (Include Inactive) | Number of lines containing source code, including inactive regions. |

AltCountLineComment | Lines with Comments (Include Inactive) | Number of lines containing comment, including inactive regions. |

AvgCyclomatic | Average Cyclomatic Complexity | Average cyclomatic complexity for all nested functions or methods. |

AvgCyclomaticModified | Average Modified Cyclomatic Complexity | Average modified cyclomatic complexity for all nested functions or methods. |

AvgCyclomaticStrict | Average Strict Cyclomatic Complexity | Average strict cyclomatic complexity for all nested functions or methods. |

AvgEssential | Average Essential Cyclomatic Complexity | Average Essential complexity for all nested functions or methods. |

AvgEssentialStrictModified | Average Essential Strict Modified Complexity | Average strict modified essential complexity for all nested functions or methods. |

AvgLine | Average Number of Lines | Average number of lines for all nested functions or methods. |

AvgLineBlank | Average Number of Blank Lines | Average number of blank for all nested functions or methods. |

AvgLineCode | Average Number of Lines of Code | Average number of lines containing source code for all nested functions or methods. |

AvgLineComment | Average Number of Lines with Comments | Average number of lines containing comment for all nested functions or methods. |

CountClassBase | Base Classes | Number of immediate base classes. [aka IFANIN] |

CountClassCoupled | Coupling Between Objects | Number of other classes coupled to. [aka CBO (coupling between object classes)] |

CountClassDerived | Number of Children | Number of immediate subclasses. [aka NOC (number of children)] |

CountDeclClass | Classes | Number of classes. |

CountDeclClassMethod | Class Methods | Number of class methods. |

CountDeclClassVariable | Class Variables | Number of class variables. |

CountDeclExecutableUnit | Executable Unit | Number of program units with executable code. |

CountDeclFile | Number of Files | Number of files. |

CountDeclFunction | Function | Number of functions. |

CountDeclInstanceMethod | Instance Methods | Number of instance methods. [aka NIM] |

CountDeclInstanceVariable | Instance Variables | Number of instance variables. [aka NIV] |

CountDeclInstanceVariableInternal | Internal Instance Variables | Number of internal instance variables. |

CountDeclInstanceVariablePrivate | Private Instance Variables | Number of private instance variables. |

CountDeclInstanceVariableProtected | Protected Instance Variables | Number of protected instance variables. |

CountDeclInstanceVariableProtectedInternal | Protected Internal Instance Variables | Number of protected internal instance variables. |

CountDeclInstanceVariablePublic | Public Instance Variables | Number of public instance variables. |

CountDeclMethod | Local Methods | Number of local methods. |

CountDeclMethodAll | Methods | Number of methods, including inherited ones. [aka RFC (response for class)] |

CountDeclMethodConst | Local Const Methods | Number of local const methods. |

CountDeclMethodDefault | Local Default Visibility Methods | Number of local default methods. |

CountDeclMethodFriend | Friend Methods | Number of local friend methods. [aka NFM] |

CountDeclMethodInternal | Local Internal Methods | Number of local internal methods. |

CountDeclMethodPrivate | Private Methods | Number of local private methods. [aka NPM] |

CountDeclMethodProtected | Protected Methods | Number of local protected methods. |

CountDeclMethodProtectedInternal | Local Protected Internal Methods | Number of local protected internal methods. |

CountDeclMethodPublic | Public Methods | Number of local public methods. [aka NPRM] |

CountDeclMethodStrictPrivate | Local strict private methods | Number of local strict private methods. |

CountDeclMethodStrictPublished | Local strict published methods | Number of local strict published methods. |

CountDeclModule | Modules | Number of modules. |

CountDeclProgUnit | Program Units | Number of non-nested modules, block data units, and subprograms. |

CountDeclProperty | Properties | Number of properties. |

CountDeclPropertyAuto | Auto Implemented Properties | Number of auto-implemented properties. |

CountDeclSubprogram | Subprograms | Number of subprograms. |

CountInput | Inputs | Number of calling subprograms plus global variables read. [aka FANIN] |

CountLine | Physical Lines | Number of all lines. [aka NL] |

CountLineBlank | Blank Lines of Code | Number of blank lines. [aka BLOC] |

CountLineBlank_Html | Blank html lines | Number of blank html lines. |

CountLineBlank_Javascript | Blank javascript lines | Number of blank javascript lines. |

CountLineBlank_Php | Blank php lines | Number of blank php lines. |

CountLineCode | Source Lines of Code | Number of lines containing source code. [aka LOC] |

CountLineCodeDecl | Declarative Lines of Code | Number of lines containing declarative source code. |

CountLineCodeExe | Executable Lines of Code | Number of lines containing executable source code. |

CountLineCode_Javascript | Javascript source code lines | Number of javascript lines containing source code. |

CountLineCode_Php | PHP Source Code Lines | Number of php lines containing source code. |

CountLineComment | Lines with Comments | Number of lines containing comment. [aka CLOC] |

CountLineComment_Html | HTML Comment Lines | Number of html lines containing comment. |

CountLineComment_Javascript | Javascript Comment Lines | Number of javascript lines containing comment. |

CountLineComment_Php | PHP Comment Lines | Number of php lines containing comment. |

CountLineInactive | Inactive Lines | Number of inactive lines. |

CountLinePreprocessor | Preprocessor Lines | Number of preprocessor lines. |

CountLine_Html | HTMLLines | Number of all html lines. |

CountLine_Javascript | Javascript Lines | Number of all javascript lines. |

CountLine_Php | PHP Lines | Number of all php lines. |

CountOutput | Outputs | Number of called subprograms plus global variables set. [aka FANOUT] |

CountPackageCoupled | Coupled Packages | Number of other packages coupled to. |

CountPath | Paths | Number of possible paths, not counting abnormal exits or gotos. [aka NPATH] |

CountPathLog | Paths Log(x) | Log10, truncated to an integer value, of the metric CountPath |

CountSemicolon | Semicolons | Number of semicolons. |

CountStmt | Statements | Number of statements. |

CountStmtDecl | Declarative Statements | Number of declarative statements. |

CountStmtDecl_Javascript | Javascript Declarative Statements | Number of javascript declarative statements. |

CountStmtDecl_Php | PHP Declarative Statements | Number of php declarative statements. |

CountStmtEmpty | Empty Statements | Number of empty statements. |

CountStmtExe | Executable Statements | Number of executable statements. |

CountStmtExe_Javascript | Javascript Executable Statements | Number of javascript executable statements. |

CountStmtExe_Php | PHP Executable Statements | Number of php executable statements. |

Cyclomatic | Cyclomatic Complexity | Cyclomatic complexity. |

CyclomaticModified | Modified Cyclomatic Complexity | Modified cyclomatic complexity. |

CyclomaticStrict | Strict Cyclomatic Complexity | Strict cyclomatic complexity. |

Essential | Essential Complexity | Essential complexity. [aka Ev(G)] |

EssentialStrictModified | Essential Strict Modified Complexity | Strict Modified Essential complexity. |

Knots | Knots | Measure of overlapping jumps. |

MaxCyclomatic | Max Cyclomatic Complexity | Maximum cyclomatic complexity of all nested functions or methods. |

MaxCyclomaticModified | Max Modified Cyclomatic Complexity | Maximum modified cyclomatic complexity of nested functions or methods. |

MaxCyclomaticStrict | Max Strict Cyclomatic Complexity | Maximum strict cyclomatic complexity of nested functions or methods. |

MaxEssential | Max Essential Complexity | Maximum essential complexity of all nested functions or methods. |

MaxEssentialKnots | Max Knots | Maximum Knots after structured programming constructs have been removed. |

MaxEssentialStrictModified | Max Essential Strict Modified Complexity | Maximum strict modified essential complexity of all nested functions or methods. |

MaxInheritanceTree | Depth of Inheritance Tree | Maximum depth of class in inheritance tree. [aka DIT] |

MaxNesting | Nesting | Maximum nesting level of control constructs. |

MinEssentialKnots | Minimum Knots | Minimum Knots after structured programming constructs have been removed. |

PercentLackOfCohesion | Lack of Cohesion in Methods | 100% minus the average cohesion for package entities. [aka LCOM, LOCM] |

PercentLackOfCohesionModified | Modified Lack of Cohesion in Methods | 100% minus the average cohesion for class data members, modified for accessor methods |

RatioCommentToCode | Comment to Code Ratio | Ratio of comment lines to code lines. |

SumCyclomatic | Sum Cyclomatic Complexity | Sum of cyclomatic complexity of all nested functions or methods. [aka WMC] |

SumCyclomaticModified | Sum Modified Cyclomatic Complexity | Sum of modified cyclomatic complexity of all nested functions or methods. |

SumCyclomaticStrict | Sum Strict Cyclomatic Complexity | Sum of strict cyclomatic complexity of all nested functions or methods. |

SumEssential | Sum Essential Complexity | Sum of essential complexity of all nested functions or methods. |

SumEssentialStrictModified | Sum Essential Strict Modified Complexity | Sum of strict modified essential complexity of all nested functions or methods. |