Directory Metrics

The following metrics are generated for each directory that contains at least one of the project's source files. The metrics reflect just the source files located directly in the directory, and not any source files located in subdirectories.

Size Metrics

C FilesNumber of C files in the directory.
C++ FilesNumber of C++ files in the directory.
Comment RatioRatio of the lines of comments to the lines of source code in the directory.
Declarations in DirectoryNumber of top-level declarations in the directory, including types, variables, functions and macro defines.
Not applicable for Java.
Directory Size (bytes)Total size of the files in the directory, in bytes.
Functions in DirectoryNumber of functions defined in the directory.
Header FilesNumber of C and C++ header files in the directory.
Java Class FilesNumber of Java Class files in the directory.
Java FilesNumber of Java files in the directory.
Lines in DirectoryNumber of lines in the directory.
Lines of Source CodeNumber of lines in the directory that have source code, i.e. all lines except empty lines, lines that have just comments, and lines omitted because of preprocessor conditions.
Lines of CommentsNumber of lines of comments in the directory.
Number of StatementsNumber of statements in the directory. An individual statement can extend over multiple lines.
Total FilesNumber of C, C++ and Java files in the directory.
Variables in DirectoryNumber of variables and parameters defined in the directory.
For local variables and parameters to be counted, data must be collected with the -locals option enabled. Not applicable for Java.

Complexity Metrics

McCabe Average ComplexityAverage cyclomatic complexity for all functions defined in the directory.
McCabe Maximum ComplexityMaximum cyclomatic complexity for any function defined in the directory.
McCabe Total ComplexityTotal cyclomatic complexity for all functions defined in the directory.
Maintainability IndexMeasure of the maintainability of the directory (Welker MI).
Halstead Intelligent ContentLanguage-independent measure of the amount of content (complexity) of the directory (Halstead I).
Halstead Mental EffortMeasure of the number of elemental mental discriminations necessary to create, or understand, the directory (Halstead E).
Halstead Program VolumeMeasure of the information content of the directory (Halstead V).
Halstead Program DifficultyMeasure of how compactly the directory implements its algorithms (Halstead D). This is the inverse of the Halstead Program Level (of abstraction).