# .NET Method

Metric Description
Absolute Complexity Absolute Complexity of methods.
Binary Decisions Binary Decisions of methods.
Blank Lines Number of blank lines of source (sequence number area content is ignored).
Catch Clauses Number of catch clauses.
Computational Statements Number of statements performing arithmetic calculations.
Conditional Complexity Binary Decisions, plus Unique Operands in Conditions.
Conditional Statements Number of branching statements with nested statements executed under certain conditions.
Cyclomatic Complexity v(G) = e - n + 2, where v(G) is the cyclomatic complexity of the flow graph (G) for the program in question, e is the number of edges in G, and n is the number of nodes. Quantity of decision logic. The number of linearly independent paths (minimum number of paths to be tested). v(G) = DE + 1, where DE is the number of binary decisions made in the program.
Difficulty D = (n1 / 2) * (N2 / n2), where n1 is Unique Operators, N2 is Operands, and n2 is Unique Operands.
Essential Complexity Quantity of unstructured logic (a loop with an exiting GOTO statement, for example). v(G) for reduced graph without D-structured primes.
Executable Statements All assignments, function calls (alone on a line), calls, returns, IF, DO, FOR, CHOOSE, EXIT, CONTINUE, and GOTO statements.
Extended Cyclomatic Complexity Cyclomatic Complexity, plus Logical Operators in Conditions. Number of all paths in the program.
Function Calls Number of function calls.
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.
GoTo Statements Number of GOTO statements, including conditional GOTOs.
IF Statements Number of IF statements.
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.
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 Both Comments and Code Number of lines of source containing both comments and code.
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.
Loop Statements Number of repetitively executing statements.
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.
Maximum Depth of Logic Nesting Maximum nesting of logic.
Maximum Switch Cases Maximum Switch Cases.
Member Function Calls Number of member function calls.
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.
Parameters Number of parameters in method calls.
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.
Source Lines Number of lines of source.
Switch Cases Number of SWITCH cases.
SWITCH/SELECT Statements Number of SWITCH statements.
Unique Method Calls Number of distinct method calls.
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.