qpcpp/doxygen/rsm_qpcpp.cfg
Quantum Leaps 9d72aa81de 5.2.0
2013-12-30 17:41:15 -05:00

638 lines
24 KiB
INI

# ==========================================================================
# Product: QP/C++ Configuration for MSquared Resource Standard Metrics (RSM)
# Last Updated for Version: 5.2.0
# Date of the Last Update: Dec 26, 2013
#
# Q u a n t u m L e a P s
# ---------------------------
# innovating embedded systems
#
# Copyright (C) 2002-2013 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Alternatively, this program may be distributed and modified under the
# terms of Quantum Leaps commercial licenses, which expressly supersede
# the GNU General Public License and are specifically designed for
# licensees interested in retaining the proprietary status of their code.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Contact information:
# Quantum Leaps Web sites: http://www.quantum-leaps.com
# http://www.state-machine.com
# e-mail: info@quantum-leaps.com
# ==========================================================================
####################################################################
# 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 : No
Report Header Text Line : Standard Metrics Report
Report Header HTML Line : <font color="RED" size="+2"><B><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Standard Metrics Report</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 : Yes
# 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 : Yes
# 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 : test,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 : 10000
# 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 : No
# Quality Notice No. 7
# Emit a quality notice when a pre-increment operator '++'
# is identified within the code.
Quality Notice 7 : No
# 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 : No
# 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 : No
# 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 : No
# 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 : No
# 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 : No
Include zero (0) as literal assignment : No
# 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 : 6
# 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 : No
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 : No
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 : No
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 : No
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 : 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 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