Go BackGo Forward Index Home    

Project
Code
Meter


Report Template Macros

You can create any custom report using User Templates. To create a report, create a files of any type and put it in the Templates folder. It is created on ProjectCodeMeter's first run, under your Windows user folder (usually "My Documents"), use the ProjectCodeMeter menu to easily open this folder. When ProjectCodeMeter finishes an analysis, it will take your report template file and replace any macros inside it with the real values measured for that analysis.
Report Template Macros:
__SOFTWARE_VERSION__  ProjectCodeMeter version
__LICENSE_USER__
ProjectCodeMeter licensed user name
__PROJECT_FOLDER__
the Project Folder
__OLD_FOLDER__ the Old Version Folder
__REPORTS_FOLDER__ project Reports folder
__ANALYSIS_TYPE__ the analysis type Normal / Differential / Cumulative Differential
__PRICE_PER_HOUR__ programmer Price Per Hour
__PRICE_PER_HOUR_FORMATTED__ the currency unit decorated version of the programmer Price Per Hour
__COST_UNITS__  only the currency unit decoration if any
__CURRENT_DATE_YYYYMMDD__  date at time of analysis in YYYY-MM-DD format
__CURRENT_TIME_HHMMSS__ time of analysis in HH:MM:SS format

For measurements macros, there are several conventions used in naming (all parts except OBJECT are optional, and
omitted if default or inapplicable):
__SCOPE_VER_PART_OBJECT_UNIT_FORMAT__  where:
SCOPE is either F which indicates for a file only (only available inside a multi-file section of the report started by a marker like __ALLFILES_BEGIN__), or doesn't exists which indicates the result is in the scope of the entire project.
VER is either OLD which indicates the result is for the Old Version project [Differential modes only], or doesn't exist which indicates the current project version.
PART is which part of the code this result is for:
 NCHANGE The Change part of the project (only code that was added or changed). In Normal mode this is the entire project cost, in Differential modes this is only the difference between old and new versions.
 GROWTH The time and cost results only for code that increased in size and /or complexity.
 NEW The New code only part (code that was added) [Differential modes only]
 MODIFIED The modified code only (code that was edited)  [Differential modes only]
 REFACTORED The trivially refactored code (that was usually edited using some automated code manipulation tool)  [Differential modes only]
 DELETED The code that was completely thrown away (excluding any commented out code).  [Differential modes only]
 SAME Only within code that hasn't changed between versions.  [Differential modes only]
 NTOTALThe Total of a project version (depending on VER ) ignoring the other version.
OBJECT is the name of  what is measured (i.e LLOC for logical lines of code).
UNIT is the type of units of measurement for objects like time that can be represented in several units (i.e MINUTES, HOURS, DAYS, RAW_HOURS), or doesn't exist if default or inapplicable.
FORMAT is how to decorate or order the result for objects like date that can be represented in several units (i.e YYYYMMDD), or doesn't exist if default or inapplicable.

There are too many macros to list them all here, It's best to look at the report templates to see all the available macros, and to see the report they produce after a scan.
Here are some examples of popular ones:

__NTOTAL_COST__
  the total project cost (In Normal mode this is the entire project cost, in Differential  modes this is only the difference between old and new versions)
__NTOTAL_COST_FORMATTED__ the currency unit decorated version of the Net total project cost __NTOTAL_COST__ 
__OLD_NTOTAL_COST__  the net total cost of the Old Version of the project (only for Differential modes, meaningless in Normal mode)
__F_OLD_NTOTAL_COST__  the net total cost of the Old Version of a specific file (not entire project),  (only for Differential modes, meaningless in Normal mode)
__F_NEW_TIME_MINUTES__ the development time result for only the new code in the current version of a specific file (not entire project), in unit of minute.
__F_MODIFIED_TIME_MINUTES__ the development time result for only the modified code in the current version of a specific file (not entire project), in unit of minute.
__F_SAME_TIME_HOURS__ the development time result for only the unmodified code in the current version of a specific file (not entire project), in unit of hours.
__NCHANGE_COST__  the cost of  the change part of the project (only code that was added or changed) , In Normal mode this is the entire project cost, in Differential  modes this is only the difference between old and new versions.
__NTOTAL_TIME_HOURS__   the total project work time in hours
__NTOTAL_TIME_MINUTES__   the total project work time in minutes
__NTOTAL_TIME_RAW_HOURS__   the total project raw time (gross calendaric time) in hours
__NTOTAL_CODING_MINUTES__   the total project coding time in minutes
__NTOTAL_DEBUGGING_MINUTES__   the total project debugging time in minutes
__NTOTAL_TESTING_MINUTES__   the total project testing time in minutes
__NTOTAL_LLOC__  the project total Logical Source Lines Of Code (LLOC)
__NTOTAL_NUMERIC_CONSTANTS__  the project total Numeric Constants count
__NTOTAL_FILES__  the project total File Count
__NTOTAL_STRINGS__  the project total String Count
__NTOTAL_COMMENTS__  the project total source Comment count
__COCOMO_BASIC_MINUTES__  the reference Basic COCOMO estimated project time in minutes
__COCOMO_INTERMEDIATE_MINUTES__  the reference Intermediate COCOMO auto-estimated project time in minutes
__COCOMO_INTERMEDIATE_RELY__  the reference Intermediate COCOMO auto-estimated RELY cost driver
__COCOMO_INTERMEDIATE_CPLX__  the reference Intermediate COCOMO auto-estimated CPLX cost driver
__COCOMO_INTERMEDIATE_TOOL__  the reference  Intermediate COCOMO auto-estimated TOOL cost driver
__COCOMO_INTERMEDIATE_PVOL__  the reference  Intermediate COCOMO auto-estimated PVOL cost driver
__COCOMOII2000_NOMINAL_MINUTES__  the reference COCOMO II 2000 nominal (normal) estimated project time in minutes
__COCOMOII2000_INTERMEDIATE_MINUTES__  the reference Intermediate COCOMO II 2000 auto-estimated project time in minutes
__COCOMOII2000_INTERMEDIATE_RELY__  the reference Intermediate COCOMO II 2000 auto-estimated RELY cost driver
__COCOMOII2000_INTERMEDIATE_CPLX__  the reference Intermediate COCOMO II 2000 auto-estimated CPLX cost driver
__COCOMOII2000_INTERMEDIATE_TOOL__  the reference Intermediate COCOMO II 2000 auto-estimated TOOL cost driver
__COCOMOII2000_INTERMEDIATE_PVOL__  the reference Intermediate COCOMO II 2000 auto-estimated PVOL cost driver
__REVIC92_NOMINAL_DEVELOPMENT_MINUTES__  the reference Nominal Revic 9.2 Effort estimated development time in minutes
__REVIC92_NOMINAL_REVIEW_MINUTES__  the reference Nominal Revic 9.2 Review Phase estimated time in minutes
__REVIC92_NOMINAL_EVALUATION_MINUTES__  the reference Nominal Revic 9.2 Evaluation Phase estimated time in minutes
__REVIC92_NOMINAL_TOTAL_MINUTES__  the reference Nominal Revic 9.2 Total estimated project time in minutes
__REVIC92_DEVELOPMENT_MINUTES__  the reference Revic 9.2 Effort auto-estimated development time in minutes
__REVIC92_REVIEW_MINUTES__  the reference Revic 9.2 Review Phase auto-estimated time in minutes
__REVIC92_EVALUATION_MINUTES__  the reference Revic 9.2 Evaluation Phase auto-estimated time in minutes
__REVIC92_TOTAL_MINUTES__  the reference Revic 9.2 Total auto-estimated project time in minutes
__REVIC92_RELY__  the reference Revic 9.2 auto-estimated RELY cost driver
__REVIC92_CPLX__  the reference Revic 9.2 auto-estimated CPLX cost driver
__REVIC92_TOOL__  the reference Revic 9.2 auto-estimated TOOL cost driver
__TOTAL_QUALITY_NOTES__  count of quality notes and warnings for all files in the project
__CURRENT_DATE_MMDDYYYY__  todays date in MM/DD/YYYY format (compatible with Microsoft Excel)
__CURRENT_DATE_YYYYMMDD__  todays date in YYYY-MM-DD format (compatible alphabet sorted lists)
__CURRENT_TIME_HHMMSS__  the current time in HH:MM:SS format
__QUALITY_NOTES__  textual quality notes and warnings for the project (not for individual files)
__PLATFORM_MATURITY__  Platform Maturity settings text
__DEBUGGING_TOOLS__  Debugging Tools settings text
__QUALITY_GUARANTEE__  Quality Guarantee settings text
__PLATFORM_MATURITY_VALUE__  Platform Maturity settings as a number
__DEBUGGING_TOOLS_VALUE__  Debugging Tools settings as a number
__QUALITY_GUARANTEE_VALUE__  Quality Guarantee settings as a number
__NTOTAL_TIME_FC_MINUTES__  the total project time in minutes spent on Flow Complexity
__NTOTAL_TIME_OV_MINUTES__  the total project time in minutes spent on Object Vocabulary
__NTOTAL_TIME_OC_MINUTES__  the total project time in minutes spent on Object Conjuration
__NTOTAL_TIME_AI_MINUTES__  the total project time in minutes spent on Arithmetic Intricacy
__NTOTAL_TIME_DT_MINUTES__  the total project time in minutes spent on Data Transfer
__NTOTAL_TIME_CS_MINUTES__  the total project time in minutes spent on Code Structure
__NTOTAL_TIME_ID_MINUTES__  the total project time in minutes spent on Inline Data
__NTOTAL_TIME_CM_MINUTES__  the total project time in minutes spent on Comments
__NTOTAL_PERCENT_FC__  the percent of total project time spent on Flow Complexity
__NTOTAL_PERCENT_OV__  the percent of total project time spent on Object Vocabulary
__NTOTAL_PERCENT_OC__ the percent of total project time spent on Object Conjuration
__NTOTAL_PERCENT_AI__ the percent of total project time spent on Arithmetic Intricacy
__NTOTAL_PERCENT_DT__ the percent of total project time spent on Data Transfer
__NTOTAL_PERCENT_CS__ the percent of total project time spent on Code Structure
__NTOTAL_PERCENT_ID__ the percent of total project time spent on Inline Data
__NTOTAL_PERCENT_CM__ the percent of total project time spent on Comments