Java Interface

Metric Description
Average Absolute Complexity Average Absolute Complexity of methods.
Average Binary Decisions Average Binary Decisions of methods.
Average Catch Clauses Average Catch Clauses in methods.
Average Computational Statements Average Computational Statements of methods.
Average Conditional Complexity Average Conditional Complexity of methods.
Average Cyclomatic Complexity Average Cyclomatic Complexity of methods.
Average Essential Complexity Average Essential Complexity of methods.
Average Extended Cyclomatic Complexity Average Extended Cyclomatic Complexity of methods.
Average IF Statements Average IF Statements in methods.
Average Loop Statements Average Loop Statements in methods.
Average Maximum Switch Cases Average Maximum Switch Cases in methods.
Average Nested Block Depth Average Nested Block Depth of methods.
Average Parameters Average Parameters in methods.
Average Switch Cases Average Switch Cases in methods.
Average Switch Statements Average Switch Statements in methods.
Average Unique Method Calls Average Unique Method Calls in methods.
Blank Lines Number of blank lines of source (sequence number area content is ignored).
Comments Ratio Number of Comments divided by Lines of Code.
Constructors Number of constructors.
Depth of Inheritance Hierarchy Maximum nesting of the inheritance hierarchy.
Error Estimate B = E**(2/3) / 3000, where E is Programming Effort.
Executable Statements All assignments, function calls (alone on a line), calls, returns, IF, DO, FOR, CHOOSE, EXIT, CONTINUE, and GOTO statements.
Fields Number of fields.
Function Points Lines of Code divided by K, where K depends on the language: Cobol=77, Natural=52, PL/I=67. Estimate of the number of end-user business functions implemented by the program.
Intelligent Content I = L * V, where L is Program Level and V is Program Volume. Complexity of a given algorithm independent of the language used to express the algorithm.
Interfaces Number of interfaces.
Lack of Cohesion LOCM = (m - sum(mA)/a1+a2) / (m-1), where mA is the number of methods that access class attributes.
Lines of Code Number of lines of code, plus the number of lines of code in included files and any files they include. Comments and blank lines are not counted.
Lines with Comments Number of lines of source containing comments, including inline comments placed on lines with statements.
Logical Operators in Conditions Number of binary logical operators used in conditions.
Maintainability Index MI = 171 - 5.2 * ln (PgmVolume) - 0.23 * ExtCycComp - 16.2 * ln (LOC) + 50 * sin (sqrt (2.46 * CommentLines/SourceLines)), where PgmVolume is Program Volume, ExtCycComp is Extended Cyclomatic Complexity, LOC is Lines of Code, CommentLines is Comment Lines, and SourceLines is Source Lines.
Methods Number of methods.
Number of Comments Number of lines of source containing comments, including inline comments placed on lines with statements.
Operands Number of operand occurrences (N2). Operands are variables and literals used in operators. Compare Unique Operands.
Operators Number of operator occurrences (N1). Operators are executable statements and unary and binary operations. Compare Unique Operators.
Overridden Methods Number of overridden methods.
Program Length N = N1 + N2, where N1 is Operators and N2 is Operands.
Program Level L = 1 / D, where D is Difficulty.
Program Volume V = N * log2(n), where N is Program Length and n is Vocabulary. Minimum number of bits required to code the program.
Programming Effort E = V / L, where V is Program Volume and L is Program Level. Estimated mental effort required to develop the program.
Programming Time T = E / 18, where E is the Programming Effort and 18 is Stroud’s Number. Estimated amount of time required to implement the algorithm, in seconds.
Response for Class Response for class.
Source Lines Number of lines of source.
Specialization Index Number of subclasses divided by number of superclasses.
Static Fields Number of static fields.
Static Methods Number of static methods.
Subtypes Number of subtypes.
Unique Operands Number of distinct operands (n2). Operands are variables and literals used in operators. Uniqueness of literals is determined by their notation. Compare Operands.
Unique Operands in Conditions Number of distinct operands used in conditions.
Unique Operators Number of distinct operators (n1). Operators are executable statements and unary and binary operations. Compare Operators.
Vocabulary n = n1 + n2, where n1 is the number of Unique Operators and n2 is the number of Unique Operands.
Weighted Methods Number of weighted methods.