RSM Configuration
RSM is configured using a configuration file. The following is an example of this configuration file. Lines with the # symbol are comment lines to the RSM configuration parser. You may specify options or turn On/Off settings by specifying Yes or No for the option.
The RSM configuration file can be generated and checked by using: rsm -hc > rsm.cfg. The rsm.cfg file is stored in the same directory as the rsm.lic or license file.
# Resource Standard Metrics Version 6.01
# Configuration Data File
# This output creates a template for rsm.cfg. RSM uses this file
# for configuring its operation. This file is a text file and
# must exist in the RSM directory upon the system path or at
# at a location specified by the environment variable RSMHOME.
# Failure to locate a rsm.cfg file will put RSM into default mode.
# Lines beginning with the # sign are comments in this file.
# Specific text lines before the colon must appear exactly as
# written. You may changed the value after the colon to either
# a Yes or No or to a specified value.
# The following will tell you where RSM found the RSM license file
# (rsm.lic) and the RSM configuration file (rsm.cfg)
# Current Working Dir.: c:\rsm
# Located License File: c:\rsm\rsm.lic
# Located Config. File: c:\rsm\rsm.cfg
# Located Use Log File: c:\rsm\rsm.log
# Located Macro File : c:\rsm\rsm_macro.cfg
# The following is the current configuration data
####################################################################
# RSM Operational Configuration ####################################
# Windows 9x and DOS are case insensitive file systems.
# Files like foo.c and foo.C are seen as C source files.
# If *.C files are C++ files under these operating systems
# or you are operating on NT or UNIX set this option to
# case sensitivity equal to Yes.
Source file names are case sensitive : No
# RSM will process only files with the following extensions.
# The user may add to this list, but RSM is designed to process
# only the C, C++ and Java languages.
Validate file extensions for processing : Yes
Allowable source code extensions : c,cc,cpp,cxx,C,CC,h,hh,H,hxx,java,jav
# Names in reports include file, namespace or package, class
# and function names. These names can get quite long and will
# extend beyond the report right margin. This setting will
# wrap the name to the report right margin.
Wrap long names in reports : Yes
# The following path location specifies where work files
# are to be created. The path must be a location with write
# permissions. RSM will create work files in the current
# directory if no path is specified.
Work file location path :
# The following parameter, when set to Yes will include
# files that are the "same" in metrics differential reports.
# The number of files with no difference can be large
# therefore, the default setting is No.
Differential reports include equal files: Yes
# Work file generation normally calculates the functional
# cyclomatic complexity. This turns on functional analysis
# in the report output. You can turn off this metric with
# the following setting.
Include cyclo complexity in work files : Yes
# The following parameter, when set to Yes will cause
# the files stored into work files to be relative to the
# location where RSM began processing.
Relative Work Files : Yes
####################################################################
# RSM Quality Notices Configuration ################################
# Quality Notice No. 1
# Emit a quality notice when the physical line length
# is greater than the specified number of characters.
Quality Notice 1 : Yes
Maximum Line Length : 80
# Quality Notice No. 2
# Emit a quality notice when the function name length
# is greater than the specified number of characters.
Quality Notice 2 : Yes
Maximum Function Name Length : 32
# Quality Notice No. 3
# Emit a quality notice when ellipsis '...' are identified
# within a functions parameter list thus enabling variable
# arguments.
Quality Notice 3 : Yes
# Quality Notice No. 4
# Emit a quality notice if there exists an assignment
# operator '=' within a logical 'if' condition.
Quality Notice 4 : Yes
# Quality Notice No. 5
# Emit a quality notice if there exists an assignment
# operator '=' within a logical 'while' condition.
Quality Notice 5 : Yes
# Quality Notice No. 6
# Emit a quality notice when a pre-decrement operator '--'
# is identified within the code.
Quality Notice 6 : Yes
# Quality Notice No. 7
# Emit a quality notice when a pre-increment operator '++'
# is identified within the code.
Quality Notice 7 : Yes
# Quality Notice No. 8
# Emit a quality notice when the 'realloc' function
# is identified within the code.
Quality Notice 8 : Yes
# Quality Notice No. 9
# Emit a quality notice when the 'goto' function
# is identified within the code.
Quality Notice 9 : Yes
# Quality Notice No. 10
# Emit a quality notice when the Non-ANSI function
# prototype is identified within the code.
Quality Notice 10 : Yes
# Quality Notice No. 11
# Emit a quality notice when open and closed brackets
# '[ ]' are not balance within a file.
Quality Notice 11 : Yes
# Quality Notice No. 12
# Emit a quality notice when open and closed parenthesis
# '( )' are not balance within a file.
Quality Notice 12 : Yes
# Quality Notice No. 13
# Emit a quality notice when a 'switch' statement does
# not have a 'default' condition.
Quality Notice 13 : Yes
# Quality Notice No. 14
# Emit a quality notice when these are more 'case' conditions
# than 'break', 'return' or 'fall through' comments.
Quality Notice 14 : Yes
# Quality Notice No. 15
# Emit a quality notice when a friend class
# is identified within the code.
Quality Notice 15 : Yes
# Quality Notice No. 16
# Emit a quality notice when function white space
# percentage is less than the specified minimum.
Quality Notice 16 : Yes
Minimum Whitespace Percent : 10.00
# Quality Notice No. 17
# Emit a quality notice when function comment
# percentage is less than the specified minimum.
Quality Notice 17 : Yes
Minimum Comment Percent : 10.00
# Quality Notice No. 18
# Emit a quality notice when the eLOC within a
# function exceeds the specified maximum.
Quality Notice 18 : Yes
Maximum Function LOC : 200
# Quality Notice No. 19
# Emit a quality notice when file white space
# percentage is less than the specified minimum.
# Consider setting Notice 30 to No.
Quality Notice 19 : Yes
A TAB is equivalent to n space : 2
# Quality Notice No. 20
# Emit a quality notice when file comment
# percentage is less than the specified minimum.
Quality Notice 20 : Yes
# Quality Notice No. 21
# Emit a quality notice when a file does not contain
# the specified key string.
Quality Notice 21 : No
RSM KEY String :
# Quality Notice No. 22
# Emit a quality notice when each if, else, for
# or while is not bound by scope.
Quality Notice 22 : Yes
# Quality Notice No. 23
# Emit a quality notice when the '?' or the implied
# if-then-else construct has been identified.
Quality Notice 23 : Yes
# Quality Notice No. 24
# Emit a quality notice when an ANSI C++ keyword
# is identified within a *.c or a *.h file.
Quality Notice 24 : Yes
# Quality Notice No. 25
# When analyzing *.h files, treat header files as
# both C and C++. If you use .hh for C++ and .h
# for C, then set this option to No.
Quality Notice 25 : Yes
# Quality Notice No. 26
# Emit a quality notice when a void * is identified
# within a source file.
Quality Notice 26 : Yes
# Quality Notice No. 27
# Emit a quality notice when the number of function
# return points is greater than the specified maximum.
Quality Notice 27 : Yes
Maximum functional return points : 1
Count goto as a function return point : Yes
# Quality Notice No. 28
# Emit a quality notice when the cyclomatic complexity
# of a function exceeds the specified maximum.
Quality Notice 28 : Yes
Maximum functional cyclomatic complexity: 10
# Some interpret the 'for' loop as repetition
# rather than a logical branch in cyclomatic complexity
Include 'for' in cyclomatic complexity : Yes
# Quality Notice No. 29
# Emit a quality notice when the number of function
# input parameters exceeds the specified maximum.
Quality Notice 29 : Yes
Maximum functional interface complexity : 6
# Quality Notice No. 30
# Emit a quality notice when a TAB character is identified
# within the source code. Indentation with TAB will create
# editor and device dependent formatting.
Quality Notice 30 : Yes
# Quality Notice No. 31
# Emit a quality notice when class/struct comment
# percentage is less than the specified minimum.
Quality Notice 31 : Yes
# Quality Notice No. 32
# Emit a quality notice when 'using namespace'
# has been identified in a C++ source file.
Quality Notice 32 : Yes
# Quality Notice No. 33
# Emit a quality notice when a class/struct definition
# is identified within a function definition.
Quality Notice 33 : Yes
# Quality Notice No. 34
# Emit a quality notice when a class definition
# contains a pointer to a data item.
Quality Notice 34 : Yes
# Quality Notice No. 35
# Emit a quality notice when a class definition
# contains public data.
Quality Notice 35 : Yes
# Quality Notice No. 36
# Emit a quality notice when a class definition
# contains protected data.
Quality Notice 36 : Yes
# Quality Notice No. 37
# Emit a quality notice when a base class, with virtual
# functions, does not contain a virtual destructor.
Quality Notice 37 : Yes
# Quality Notice No. 38
# Emit a quality notice when exception handling is
# present within a function.
Quality Notice 38 : Yes
# Quality Notice No. 39
# Emit a quality notice when the number of class/struct methods
# exceed the specified maximum (public, protected and private).
Quality Notice 39 : Yes
Maximum number of methods per class : 100
# Quality Notice No. 40
# Emit a quality notice when the depth of the inheritance
# tree exceeds the specified maximum value.
Quality Notice 40 : Yes
Maximum depth of inheritance tree : 4
# Quality Notice No. 41
# Emit a quality notice when the number of direct derived
# classes exceeds the specified maximum value.
Quality Notice 41 : Yes
Maximum number of derived child classes : 10
# Quality Notice No. 42
# Emit a quality notice when the multiple inheritance
# has been identified.
Quality Notice 42 : Yes
# Quality Notice No. 43
# Emit a quality notice when the keyword 'continue'
# has been identified.
Quality Notice 43 : Yes
# Quality Notice No. 44
# Emit a quality notice when the keyword 'break'
# has been identified outside a 'switch' logic
# control structure.
Quality Notice 44 : Yes
####################################################################
# Code Listing Report Configuration ################################
# The following parameters setup source code printing.
# These values become the default settings.
Printed Line Length : 80
Printed Page Length : 55
Printed Left Margin : 5
Printed Top Margin : 1
Printed Page Header : RSM Code Listing
Page breaks in code print format : No
####################################################################
# HTML Report and Color Configuration ##############################
# The following parameters setup HTML report output. The hyperlinks
# for source code can be either absolute or relative.
Relative HTML Links : Yes
# The following color parameters modify the HTML report
# output. Colors can be specified as Hex or Name.
# Blank color parameters will result to the browser default.
HTML Text Color : #000000
HTML VLink Color : #660099
HTML Link Color : #0000EE
HTML Background Color :
HTML Function Color : GREEN
HTML Macro Color : TEAL
HTML Class Color : PURPLE
HTML Notice Color : RED
HTML Header Color : BROWN
HTML Green Color : GREEN
HTML Blue Color : BLUE
HTML Red Color : RED
HTML Teal Color : TEAL
HTML Maroon Color : MAROON
HTML Purple Color : PURPLE
HTML Brown Color : BROWN
####################################################################
# end of rsm.cfg
|
(Last Update:
June 22, 2001)
Copyright 2001, M Squared Technologies