# Resource Standard Metrics # 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. # The RSM configuration files may also be solely located at a # location specified by the environment variable RSMCFGHOME. # # Special Note: # Failure to locate a rsm.lic file will put RSM into default # shareware 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) RSM CFG Version: 7.71 # Current Working Dir.: D:\web\public_html\msquaredtechnologies\public_html\m2rsm\docs\reports\rolodex # Located License File: C:\Program Files\MSquared\M2 RSM\rsm.lic # Located Config. File: C:\Program Files\MSquared\M2 RSM\rsm.cfg # Located Use Log File: C:\Program Files\MSquared\M2 RSM\rsm.log # Located Macro File : C:\Program Files\MSquared\M2 RSM\rsm_macro.cfg # The following is the current configuration data #################################################################### # RSM Operational Configuration #################################### # Company Specific Header # This line will appear at the top of all reports # Typical uses include copyrights, security and project markings # You must specify both a text version for text and csv reports # and an HTML version. Report Header Active : Yes Report Header Text Line : Report Banner - Edit rsm.cfg File Report Header HTML Line : <font color="RED" size="+2"><B><I> Report Banner - Edit rsm.cfg File</I></B></font> # Enable user defined configuration files. # The file rsm.cfg is read from the location of the rsm.lic file. # This file can enable this option to allow users to override the # operational configuration of RSM. This option is enabled by the # end user with the -u "File cfg path\file" option Enable user defined configuration files : No # 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 # Show a progress indicator when processing files and # code differentials. Show progress indicator : Yes Detailed Progress Showing File Names : No # Number of files which comprise a status marker when # status is indicated during lengthy operations. Progress status interval number of files: 10 # Show file dates when displaying file metrics. Show file date and size : 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++, C# and Java languages. Validate file extensions for processing : Yes # Specify the extensions for each type of supported language. # Files extensions are separated by commas and are case sensitive # if case sensitivity is specified in this file (comma separated,no spaces). C File Extensions : c C Header File Extensions : h C++ File Extensions : cc,cpp,cxx,h,hh,H,hxx C++ Header File Extensions : h,hh,H,hxx C# File Extensions : cs Java File Extensions : java # Other files are not officially supported by RSM # but lines will be counted as LOC Other File Extensions : # When analyzing *.h files, treat header files as # both C and C++. If you use separate extensions for C++ and # C header files, then set this option to No. Treat C headers as C++ : Yes # RSM will not process files when the path/file name contains # a pattern in the pattern list (comma separated,no spaces). Pattern Filter Active : No Pattern Filter : .designer.c # RSM Code skip strings allow the RSM parser to skip # processing of all code between the start and stop # tokens. This is useful for machine generated code. # Code tokens are unique in the could base and if # found on a code line the rsm processing will be effected. # Start and stop tokens must match within a file and # cannot span files. A token cannot contain spaces and # must be alphnumeric and can contain the underscore. # Quality skip tokens turn off just quality notice checking. # i.e. // RSM_IGNORE_BEGIN # some code .... # // RSM_IGNORE_END RSM Code Skip Start Token : RSM_IGNORE_BEGIN RSM Code Skip End Token : RSM_IGNORE_END RSM Code Quality Skip Start Token : RSM_IGNORE_QUALITY_BEGIN RSM Code Quality Skip End Token : RSM_IGNORE_QUALITY_END Activate RSM code skip tokens : Yes # RSM will not process files in local directories when this # flag is set. This will prevent recursive descent into # these directories (comma separated,no spaces). Do not process these local directories : No Local directory names not processed : sccs,cvs,rcs,svn # 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 #################################################################### # RSM Configuration for Baseline Metrics Differentials ############# # 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 : # When processing code line differentials, ignore # blank line changes in the code. Ignore code differential blank lines : Yes # When processing code line differentials, ignore # blanks and tab changes in the code. Ignore code differential white space : Yes # Maximum number of lines in a file when using Longest Common Sequence # differential algorithm. This value establishes the line to line # comparison matrix size. This value has been set to the maximum allowed # under 32 bit operating systems. It is not advised to make this value > # than 10000. If you have a machine with very low physical memory you may # want to use a value of 6000 to 7000 where 10000 should be a maximum. # When file lengths exceed the matrix limits, the file is segmented to fit # the matrix size. Maximum LCS file size, number of lines : 7000 # Code differential metrics determine lines that are # different in the current baseline compared to the # older baseline. This metric can include # lines that are removed from the current baseline. Add removed older lines as modified : No # When showing differential details for each file # using the switch -ws Show equal lines : Yes Show lines removed from older file : Yes Show lines added (mod) to newer file : Yes # The following parameter, when set to Yes will cause # the files stored into work files to be relative to the # location specified by the -w"create top_dir", baseline # top directory. Relative Work Files : Yes # User defined productivity values for determining works # rates for baseline metric differentials. Work Seconds per Hour : 3600 Work Hours per Shift : 8 Work Shifts per Day : 1 Work Days per Week : 5 Work Hours per Man Day : 8 Work Hours per Man Week : 40 Work Hours per Man Month : 160 Work Hours per Man Year : 1960 ##################################################################### # Function point conversion factors for LOC metrics # Header File Function Points per LOC : 0 Header File Function Points per eLOC : 0 Header File Function Points per lLOC : 0 C File Function Points per LOC : 128 C File Function Points per eLOC : 128 C File Function Points per lLOC : 128 C++ File Function Points per LOC : 53 C++ File Function Points per eLOC : 53 C++ File Function Points per lLOC : 53 Java File Function Points per LOC : 53 Java File Function Points per eLOC : 53 Java File Function Points per lLOC : 53 C# File Function Points per LOC : 53 C# File Function Points per eLOC : 53 C# File Function Points per lLOC : 53 Other File Function Points per LOC : 0 Other File Function Points per eLOC : 0 Other File Function Points per lLOC : 0 #################################################################### # RSM Configuration for cyclomatic complexity ###################### # # McCabe Cyclomatic Complexity includes the following constructs in # the calculation. # function call + if + inline if + while + for + foreach # case + goto + logical or + Logical and # # You may tailor the cyclomatic complexity calculation to meet your # specific requirements. Include 'function call' in cyclomatic complexity: Yes Include 'while' in cyclomatic complexity : Yes Include 'for' in cyclomatic complexity : Yes Include 'switch' in cyclomatic complexity : No Include 'case' in cyclomatic complexity : Yes Include 'if' in cyclomatic complexity : Yes Include 'else' in cyclomatic complexity : No Include '?' inlined if in cyclomatic complexity : Yes Include 'goto' in cyclomatic complexity : Yes Include '||' or 'or' in cyclomatic complexity : Yes Include '&&' or 'and' in cyclomatic complexity : Yes #################################################################### # RSM Quality Notices Configuration ################################ # User Defined Quality Notices UDQN # Specify the file name which contains the UDQN definitions # See this provided example for a tutorial on UDQN. RSM user defined quality notice file : rsm_udqn.cfg # Re-order the quality notice format so that if a line number # is emitted, the line number precedes the notice number. This # option enables code editors to parse the notice line. Reorder notice, line in quality notices : No # RSM Quality Notices For Code Style ################################### # 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. 21 # Emit a quality notice when a file does not contain # the specified key string. Quality Notice 21 : No RSM KEY String : # RSM Quality Notices For Stability and Maintainability ################ # 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 there are more 'case' conditions # than 'break' statements or 'fall through' comments. Use default in case/break comparison : Yes 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. 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. 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 # 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. 49 # Emit a quality notice when function parameters # are blank or not specified, thus requiring void. Quality Notice 49 : Yes # 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. 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 # Reference Quality Notice No. 35 # Ignore public data for specific types of data Ignore public event data : Yes Ignore public const data : Yes Ignore public delegate data : 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 # Quality Notice No. 45 # Emit a quality notice when a file does not # have equal counts of new and delete. Quality Notice 45 : Yes # Quality Notice No. 50 # Emit a quality notice when a variable is assigned # to a literal number and not a symbolic constant. Quality Notice 50 : Yes Include zero (0) as literal assignment : Yes # Quality Notice No. 55 # Emit a quality notice when the depth of scope # exceeds the specified maximum value. This condition # indicates complex logic and/or a maintenance concern. Quality Notice 55 : Yes Maximum depth of scope : 5 # Quality Notice No. 56 # Emit a quality notice when sequential breaks are # identified without a respective case statement. Quality Notice 56 : Yes # RSM Quality Notices for Functional/Struct and Class Content ########## # Minimum LOC for content analysis for blank lines # comments, and white space. Min. Function LOC for content analysis : 5 Min. Class/Struct LOC content analysis : 10 # Quality Notice No. 16 # Emit a quality notice when function, struct, class # or interface white space percentage is less than # the specified minimum. Quality Notice 16 : Yes Minimum Function Whitespace Percent : 10.00 # Quality Notice No. 17 # Emit a quality notice when function comment line # percentage is less than the specified minimum. Quality Notice 17 : Yes Minimum Function Comment Line 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 eLOC : 200 # Quality Notice No. 48 # Emit a quality notice when the lLOC within a # function does not meet the specified minimum. # This notice serves to find nop functions. Quality Notice 48 : Yes Minimum Function lLOC : 0 # Quality Notice No. 31 # Emit a quality notice when class/struct comment line # percentage is less than the specified minimum. Quality Notice 31 : Yes Minimum Class/Struct Comment Percent : 10.00 # Quality Notice No. 46 # Emit a quality notice when function, struct, class # or interface blank line percentage is less than the # specified minimum. Quality Notice 46 : Yes Minimum Function Blank Line Percent : 10.00 # Quality Notice No. 51 # Emit a quality notice when a function # does not have a preceding comment. Quality Notice 51 : Yes # Quality Notice No. 52 # Emit a quality notice when a class # does not have a preceding comment. Quality Notice 52 : Yes # Quality Notice No. 53 # Emit a quality notice when a struct # does not have a preceding comment. Quality Notice 53 : Yes # Quality Notice No. 54 # Emit a quality notice when a interface # does not have a preceding comment. Quality Notice 54 : Yes # RSM Quality Notices for File Content # # 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 Minimum File Whitespace Percent : 10.00 A TAB is equivalent to n space : 2 # Quality Notice No. 20 # Emit a quality notice when file comment line # percentage is less than the specified minimum. Quality Notice 20 : Yes Minimum File Comment Line Percent : 10.00 # Quality Notice No. 47 # Emit a quality notice when file blank line # percentage is less than the specified minimum. Quality Notice 47 : Yes Minimum File Blank Line Percent : 10.00 # Quality Notice No. 57 # Emit a quality notice when RSM skip lines conditions # are met by a matching token. Quality Notice 57 : No # Quality Notice No. 58 # Emit a quality notice when RSM skip quality notice conditions # are met by a matching token. Quality Notice 58 : No # RSM Quality Notices Miscellaneous #################################### # Quality Notice No. 25 # Deprecated in Version 6.70 # See settings under language extensions. #################################################################### # 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 RSM Color : #0000FF HTML Date Color : #0000FF HTML Text Color : #000000 HTML VLink Color : #660099 HTML Link Color : #0000EE HTML Background Color : #F8F8F8 HTML Error Color : #FF0000 HTML Line Color : #003399 HTML Old File Differential Color : #CC0033 HTML New File Differential Color : #336666 HTML File Name Color : #0000FF HTML Function Color : #0000FF HTML Function Parameter Color : #006600 HTML Template Color : #006699 HTML Macro Color : #33CCFF HTML Class Color : #663300 HTML Inheritance Color : #FF3300 HTML Struct Color : #990000 HTML Notice Color : #CC0000 HTML Header Color : #993300 HTML New Code Differential Color : #3366CC HTML Removed Code Differential Color : #FF0000 HTML Modified Code Differential Color : #993300 HTML Equal Code Differential Color : #00CC00 HTML Total Color : #993300 HTML Inheritance Depth Color : #333300 HTML Inheritance Child Color : #CC6600 #################################################################### # end of rsm.cfg