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 -y > rsm_config.txt. The rsm.cfg file is stored in the same directory as the rsm.lic or license file.
# Resource Standard Metrics Version 5.52 # 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:\Inetpub\wwwroot\m2tech\rsm\docs\reports\seahunt # 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 : Yes # 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. Allowable source code extensions : c,cc,cpp,cxx,C,CC,h,hh,H,hxx,java,jav # 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 # 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 specified where work files # are to be created. The path must be a location with write # permissions. Work file location path : #################################################################### # 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 for C++ keywords, # assume that *.h can be both C and C++. 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 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 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 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 : 1 # 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 : 1 # 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 : No # 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: September 01, 2000)
Copyright 1997, M Squared Technologies