
ProjectCodeMeter
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.