Number of Statements
A very basic form of measuring the complexity of the code is to count the number of executable statements in the code. This measure may be used to identify large monolithic program units.
Number of Lines of Code
An alternative measure of the length of the program is the number of statement lines. This includes declarations but excludes comments and blank lines.
Number of Comments
A good piece of software should be well documented throughout, therefore the better the program the more comments the code should contain.
Number of Blank Lines and Blank Comments
As with the number of comments this measure may be used as a measure of the clarity and readability of the code in a piece of software. Good software should be well presented to ease reading and debugging.
The Ratio of Comments to Statements
The comment measure means little on its own but the ratio of comments to statements gives a good measure of the readability and clarity of the code.
Halstead's Measures
To describe Halstead's measures we first need some definitions N1 = number of operators
N2 = number of operands
n1 = number of unique operators
n2 = number of unique operands Halsteads measures can be summarised as being "size metrics".
Measure of the Program's Volume (Halstead)
The measure of a program's volume is calculated by Halstead in the following way
V = N * log(n) where n ( n2 + n1 ) is the program's vocabulary and N is the length of the program (given by N2 + N1) in the code. Note also that the log is to the base 2.
Measure of the Complexity Level (Halstead)
The measure of a program's complexity as defined by Halstead is given by
L = 2 * n2/(n1*N2) This can give an overall complexity measure of the program.
Effort Required to Produce Program (Halstead)
Halstead defined this to be
E = V/L that is (volume/complexity level)