Go BackGo Forward Index Home    


Quantitative Metrics

These are the traditional metrics used by sizing algorithms, and are given for general information. They can be given per file or for the entire project, depending on the context.

Files - The number of files which the metrics where measured from (per project only).
Project/File Size - Size in bytes of this/all source files in the project
Lines Populated - lines of  text that aren't empty (lines with whitespace only are considered empty as well)
SLOC - Source Lines Of Code, which is the number of text lines that contain executable code (also called pSLOC, SLOC-P, Physical executable Source Lines Of Code).
LLOC - Logical Lines Of Code, which is the number of code statements in the code (also called Effective Lines Of Code, eLoc, eSLOC, SLOC-L).  ProjectCodeMeter excludes any auto-generated, empty, or ineffective code statements from the LLOC count (see notes on counting LLOC). This count includes refactored and duplicate LLOCs.
Duplicate LLOC - Logical Lines Of Code (code statements) that already appear in the file, either exactly identical or very similar. This excludes the first appearance.
Refactored LLOC - Logical Lines Of Code (code statements) that were likely edited using some automated code manipulation tool.
Multi Line Comments - Counts the number of comments that span more than one text line.
Single Line Comments - Counts the number of comments that span only a single text line.
High Quality Comments - Counts the number of comments that are considered verbally descriptive, regardless of how many text lines they span. (a subset of  single and multi line comments).
Strings -  The number of "hard coded" text strings embedded in code sections of the source. This is language dependent. It includes char arrays and headdocs, but does not count text outside code sections, such as mixed HTML text in a PHP page.
String Words -  The number words inside all the "hard coded" text strings mentioned above. 
Numeric Constants - The number of "hard coded" numbers embedded in the source code.
Functions -  The number of functions, methods, and function macros.
Cyclomatic Complexity-1 - The standard metric Cyclomatic Complexity  count with 1 subtracted, to exclude the main execution path (which always exists). You can add back the 1 to get the standard Cyclomatic Complexity count.
Unfinished Tasks - Counts the number of Task remarks within the file/project, such as comments containing "FIXME", "TODO", "DEBUG", "HACK", "BROKEN" etc. or failed merge markers, used by developers to indicate unfinished work.

Code Quality Notes - The amount of Quality Notes and warnings detected for this file/project.
Branches - The amount of branch statements (i.e return, break, goto...)
Conditionals - The amount of conditional statements (i.e if, catch, case...)
Checks - The amount of boolean comparison statements (i.e ==, !=, >, < ...)
Loops - The amount of loop statements (i.e while, for...)
Arithmetic Operations - The amount of arithmetic operations (i.e +, -...)
Bitwise Operations - The amount of  bitwise operations (i.e &, | ...)
Unique Code Words - The amount unique words in the code area (variables, functions, macros, excluding reserved words) counting only the first appearance
Code Words - The count of duplicate appearances of code words in the code area, excluding the first appearance
Code Chars - The amount of meaningful characters in the code area (including numeric constants. excluding strings, pragmas and double spaces)
String Chars - The amount of characters in all strings, char arrays and single chars
Comment Chars - The amount of characters in all comments

Max. Scope Depth - The maximal depth of  nesting scopes (the depth of the deepest nesting scope)
Max. Scope Cyclomatic - The Cyclomatic-1 count of the most flow complex scope (function)

File Type Distribution - The number of files from each type (i.e C, C++, Java, etc.) found in the project (per project only)

In Differential mode, these metrics are broken down into sub-groups:

New: Metrics counted only within new code (that was added)
Modified: Metrics counted only within modified code (that was edited)
Refactored: Metrics counted only within trivially refactored code (that was usually edited using some automated code manipulation tool)
Deleted: Metrics counted only within the code that was completely thrown away (excluding any commented out code).
Same: Metrics counted only within code that hasn't changed between versions
Total: Metric counts of only the current version of the project in it's entirety (ignoring the old version), as if was developed from scratch.
Previous Total: Metric counts of only the old version in it's entirety (ignoring the current version), as if was developed from scratch.
Delta: Metric count difference between the old and new version, as if both were developed from scratch.