Confidential - Acme Engineering
Resource Standard Metrics™ for C, C++, C# and Java
Version 7.75 - mSquaredTechnologies.com
License Type: Shareware Evaluation License
Licensed To : Shareware End User - Distribute Freely
License No. : SW1380 License Date: Dec 05, 1998
Build Date : Aug 16 2009 Run Date: Aug 16, 2009
©1996-2009 M Squared Technologies LLC™
________________________________________________________________________
License File: C:\Program Files\MSquared\M2 RSM\rsm.lic
Config. File: C:\Program Files\MSquared\M2 RSM\rsm.cfg
Command Line: -H -SMacros Report -m -n maccomp.c
UDQN File : C:\Program Files\MSquared\M2 RSM\rsm_udqn.cfg
Macros Report
~~ Quality Analysis ~~
File: maccomp.c
________________________________________________________________________
Notice #53: Line 19: A struct has been identified which does not
have a preceding comment. Comments that detail the purpose,
algorithms, and parameter/return definitions are suggested.
Notice #1: Line 31: Line character length = 81. This width
exceeds the standard terminal width of 80 characters.
Notice #1: Line 32: Line character length = 103. This width
exceeds the standard terminal width of 80 characters.
Notice #1: Line 33: Line character length = 81. This width
exceeds the standard terminal width of 80 characters.
Notice #1: Line 35: Line character length = 81. This width
exceeds the standard terminal width of 80 characters.
Notice #1: Line 36: Line character length = 83. This width
exceeds the standard terminal width of 80 characters.
Notice #1: Line 37: Line character length = 83. This width
exceeds the standard terminal width of 80 characters.
Notice #50: Line 37: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #1: Line 38: Line character length = 83. This width
exceeds the standard terminal width of 80 characters.
Notice #50: Line 38: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #1: Line 39: Line character length = 83. This width
exceeds the standard terminal width of 80 characters.
Notice #50: Line 39: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #1: Line 40: Line character length = 83. This width
exceeds the standard terminal width of 80 characters.
Notice #50: Line 40: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #50: Line 41: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #50: Line 42: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #1: Line 43: Line character length = 81. This width
exceeds the standard terminal width of 80 characters.
Notice #1: Line 44: Line character length = 81. This width
exceeds the standard terminal width of 80 characters.
Notice #1: Line 57: Line character length = 81. This width
exceeds the standard terminal width of 80 characters.
Notice #1: Line 58: Line character length = 81. This width
exceeds the standard terminal width of 80 characters.
Notice #1: Line 61: Line character length = 91. This width
exceeds the standard terminal width of 80 characters.
Notice #1: Line 63: Line character length = 91. This width
exceeds the standard terminal width of 80 characters.
Notice #1: Line 67: Line character length = 81. This width
exceeds the standard terminal width of 80 characters.
Notice #105: Line: 70 A symbolic constant using #define has been identified.
Notice #105: Line: 74 A symbolic constant using #define has been identified.
------------------------- Macro Begin Line: 78 -------------------------
Macro: SQR
~~ Macro Quality Notices ~~
Macro: SQR
-------------------------- Macro End Line: 78 --------------------------
------------------------- Macro Begin Line: 79 -------------------------
Macro: ABS
~~ Macro Quality Notices ~~
Macro: ABS
-------------------------- Macro End Line: 79 --------------------------
------------------------- Macro Begin Line: 80 -------------------------
Macro: MIN
~~ Macro Quality Notices ~~
Macro: MIN
-------------------------- Macro End Line: 80 --------------------------
------------------------- Macro Begin Line: 81 -------------------------
Macro: MAX
~~ Macro Quality Notices ~~
Macro: MAX
-------------------------- Macro End Line: 81 --------------------------
------------------------- Macro Begin Line: 82 -------------------------
Macro: ISEVEN
~~ Macro Quality Notices ~~
Macro: ISEVEN
-------------------------- Macro End Line: 82 --------------------------
------------------------- Macro Begin Line: 83 -------------------------
Macro: ISODD
~~ Macro Quality Notices ~~
Macro: ISODD
-------------------------- Macro End Line: 83 --------------------------
Notice #119: Line: 90 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 98 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 100 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 108 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 110 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 118 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 120 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 128 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 130 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 138 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 140 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 147 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 154 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 156 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 163 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 165 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 172 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 174 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 181 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 183 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 190 Return is not a function,
no parenthesis should be used.
Notice #119: Line: 192 Return is not a function,
no parenthesis should be used.
Notice #109: Line: 196 Double pointer indirection identified.
Notice #50: Line 199: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #50: Line 201: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #50: Line 202: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #50: Line 203: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #50: Line 204: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #50: Line 214: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #50: Line 247: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #50: Line 256: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #50: Line 265: A variable has been identified which is
assigned to a literal number. Symbolic constants should
be used to enhance maintainability.
Notice #119: Line: 272 Return is not a function,
no parenthesis should be used.
------------------------------------------------------------------------
~~ Total File Summary ~~
LOC 234 eLOC 188 lLOC 98 Comment 59 Lines 334
________________________________________________________________________
End of File: maccomp.c
------------------------------------------------------------------------
~~ Total Metrics For 1 Files ~~
------------------------------------------------------------------------
~~ Total Project Summary ~~
LOC 234 eLOC 188 lLOC 98 Comment 59 Lines 334
Average per File, metric/1 files
LOC 234 eLOC 188 lLOC 98 Comment 59 Lines 334
------------------------------------------------------------------------
~~ Project Quality Profile ~~
Type Count Percent Quality Notice
________________________________________________________________________
1 16 27.59 Physical line length > 80 characters
50 15 25.86 Variable assignment to a literal number
53 1 1.72 No comment preceding a struct block
105 2 3.45 A symbolic constant using #define
109 1 1.72 Double pointer indirection identified
119 23 39.66 Return is not a function
________________________________________________________________________
58 100.00 Total Quality Notices
~~ Quality Notice Density ~~
Basis: 1000 (K)
Quality Notices/K LOC = 247.9 ( 24.79%)
Quality Notices/K eLOC = 308.5 ( 30.85%)
Quality Notices/K lLOC = 591.8 ( 59.18%)
------------------------------------------------------------------------
~~ File Summary ~~
C Source Files *.c ....: 1 C/C++ Include Files *.h: 0
C++ Source Files *.c* .: 0 C++ Include Files *.h* : 0
C# Source Files *.cs ..: 0 Java Source File *.jav*: 0
Other Source Files ....: 0
Total File Count ......: 1
Shareware evaluation licenses process only files.
Paid licenses enable processing for an unlimited number of files.
________________________________________________________________________
Confidential - Acme Engineering