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.


Metric Definitions.pdf



NameAlso Known AsAPI ID
Average LinesAvgCountLine
Average Blank LinesAvgCountLineBlank
Average Blank Lines (Includes Inactive)AvgCountLineBlankWithInactive
Average Code LinesAvgCountLineCode
Average Code Lines (Includes Inactive)AvgCountLineCodeWithInactive
Average Comment LinesAvgCountLineComment
Average Comment Lines (Includes Inactive)AvgCountLineCommentWithInactive
Average Cyclomatic ComplexityAvgCyclomatic
Average Modified Cyclomatic ComplexityAvgCyclomaticModified
Average Strict Cyclomatic ComplexityAvgCyclomaticStrict
Average Strict Modified Cyclomatic ComplexityAvgCyclomaticStrictModified
Average Essential ComplexityAvgEssential
Average Strict Modified Essential ComplexityAvgEssentialStrictModified
Base ClassesIFANINCountClassBase
Coupled ClassesChidamber & Kemerer - Coupling Between Objects (CBO)CountClassCoupled
Coupled Classes ModifiedCountClassCoupledModified
Derived ClassesChidamber & Kemerer - Number of Children (NOC)CountClassDerived
ClassesCountDeclClass
Class MethodsCountDeclClassMethod
Class VariablesLorenz & Kidd - Number of Variables (NV)CountDeclClassVariable
Executable UnitsCountDeclExecutableUnit
FilesCountDeclFile
Code FilesCountDeclFileCode
Header FilesCountDeclFileHeader
FunctionsCountDeclFunction
Instance MethodsNumber of Instance Methods (NIM)CountDeclInstanceMethod
Instance VariablesNumber of Instance Variables (NIV)CountDeclInstanceVariable
Internal Instance VariablesCountDeclInstanceVariableInternal
Private Instance VariablesCountDeclInstanceVariablePrivate
Protected Instance VariablesCountDeclInstanceVariableProtected
Protected Internal Instance VariablesCountDeclInstanceVariableProtectedInternal
Public Instance VariablesCountDeclInstanceVariablePublic
MethodsChidamber & Kemerer - Weighted Methods per Class (WMC)CountDeclMethod
All MethodsChidamber & Kemerer - Response for a Class (RFC), Lorenz & Kidd - Number of Methods (NM)CountDeclMethodAll
Const MethodsCountDeclMethodConst
Default MethodsCountDeclMethodDefault
Friend MethodsLorenz & Kidd - Number of Friends (NF), Number of Friend Methods (NFM)CountDeclMethodFriend
Internal MethodsCountDeclMethodInternal
Private MethodsNumber Private Methods (NPRM)CountDeclMethodPrivate
Protected MethodsCountDeclMethodProtected
Protected Internal MethodsCountDeclMethodProtectedInternal
Public MethodsLorenz & Kidd - Number of Public Methods (PM, NPM)CountDeclMethodPublic
Strict Private MethodsCountDeclMethodStrictPrivate
Strict Published MethodsCountDeclMethodStrictPublished
ModulesCountDeclModule
Program UnitsCountDeclProgUnit
PropertiesCountDeclProperty
Auto-Implemented PropertiesCountDeclPropertyAuto
SubprogramsCountDeclSubprogram
InputsFANIN (Infomational fan-in)CountInput
LinesNumber of Lines (NL)CountLine
Blank LinesBlank Lines of Code (BLOC)CountLineBlank
Blank Lines (HTML)CountLineBlankHtml
Blank Lines (JavaScript)CountLineBlankJavascript
Blank Lines (PHP)CountLineBlankPhp
Blank Lines (Includes Inactive)CountLineBlankWithInactive
Code LinesLines of Code (LOC), Source Lines of Code (SLOC)CountLineCode
Declarative Code LinesCountLineCodeDecl
Executable Code LinesCountLineCodeExe
Code Lines (JavaScript)CountLineCodeJavascript
Code Lines (PHP)CountLineCodePhp
Code Lines (Includes Inactive)CountLineCodeWithInactive
Comment LinesComment 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 LinesCountLineInactive
Lines (JavaScript)CountLineJavascript
Lines (PHP)CountLinePhp
Preprocessor LinesCountLinePreprocessor
OutputsFANOUT (Infomational fan-out)CountOutput
Coupled PackagesCountPackageCoupled
PathsNPATHCountPath
Paths Log(x)CountPathLog
SemicolonsCountSemicolon
StatementsCountStmt
Declarative StatementsCountStmtDecl
Declarative Statements (Javascript)CountStmtDeclJavascript
Declarative Statements (PHP)CountStmtDeclPhp
Empty StatementsCountStmtEmpty
Executable StatementsCountStmtExe
Executable Statements (JavaScript)CountStmtExeJavascript
Executable Statements (PHP)CountStmtExePhp
Cyclomatic ComplexityMcCabe - McCabe Cyclomatic Complexity, CCCyclomatic
Modified Cyclomatic ComplexityMcCabe - McCabe Modified Cyclomatic Complexity, CC3CyclomaticModified
Strict Cyclomatic ComplexityMcCabe - McCabe Strict Cyclomatic Complexity, CC2CyclomaticStrict
Strict Modified Cyclomatic ComplexityCyclomaticStrictModified
Essential Complexityev(G)Essential
Strict Modified Essential ComplexityEssentialStrictModified
KnotsKnots
Max Cyclomatic ComplexityMaxCyclomatic
Max Modified Cyclomatic CompexityMaxCyclomaticModified
Max Strict Cyclomatic ComplexityMaxCyclomaticStrict
Max Strict Modified Cyclomatic ComplexityMaxCyclomaticStrictModified
Max Essential ComplexityMaxEssential
Max Essential KnotsMaxEssentialKnots
Max Strict Modified Essential ComplexityMaxEssentialStrictModified
Max Inheritance TreeChidamber & Kemerer - Depth of Inheritance Tree (DIT)MaxInheritanceTree
Max NestingMaxNesting
Min Essential KnotsMinEssentialKnots
Percent Lack Of CohesionChidamber & Kemerer - Lack of Cohesion in Methods (LCOM/LOCM), LCOM2PercentLackOfCohesion
Percent Lack Of Cohesion ModifiedPercentLackOfCohesionModified
Comment to Code RatioRatioCommentToCode
Sum Cyclomatic ComplexityChidamber & Kemerer - Weighted Methods per Class (WMC)SumCyclomatic
Sum Modified Cyclomatic ComplexitySumCyclomaticModified
Sum Strict Cyclomatic ComplexitySumCyclomaticStrict
Sum Strict Modified Cyclomatic ComplexitySumCyclomaticStrictModified
Sum Essential ComplexitySumEssential
Sum Strict Modified Essential ComplexitySumEssentialStrictModified