Report:  Deterministic Mode
Option:  -d
Compatible Options: F, H, l, O, r, R
Usage:
rsm -H -d *.h *.cpp > report.htm
rsm -H -d *.java > report.htm
Source:  C, C++ and Java
The deterministic mode report shows you how RSM determines each physical line within a source file.  Many metrics tools report the sum of Lines of Code, Comments a Blank lines equal to the number of physical lines within a source file.   Many programmers place comment and code on the same physical line.  This practice raises the question what did the tool count is the LOC, comment and blanks equals the physical lines?  RSM removes this question and count all the entities within source files. 

Logical lines within a source file are defined as the sum of all LOC, comments and blanks.  This metric typically exceeds the physical lines within a source file, indicating that source code and comments exist on the same physical line.

Non effective lines of code are those lines which are subtracted from the LOC metrics to yield the eLOC or Effective Line of Code metrics.  M Squared Technologies has originated the concept of eLOC as this metrics accounts for the quality of work performed within a source file.  Measuring LOC which includes lines of single braces and parenthesis, artificially inflates the quality of work performed and measuring just Logical Lines of Code or code statements under estimates the true quality of work performed.  We have found the eLOC most closely matches our intuitive estimates for the size of functions and modules.

  Line 3: // Specification for type cell
  LOC Type(s): C++/Java Comment
 
  Line 6: 
  LOC Type(s): Blank

  Line 7: #ifndef CELL_H
  LOC Type(s): LOC

  Line 13: {
  LOC Type(s): Non-Effective LOC

  Line 34: #endif // CELL_H
  LOC Type(s): LOC C++/Java Comment