Campwood Software
Enhancements Added in Version 2.3:
All Version 2.2 bugs through number 62 have been fixed in this new version. Thanks to all SourceMonitor users who reported bugs and made suggestions for enhancements. Both are much appreciated. This version uses the same project file format as version 2.2.
The following enhancements were added to SourceMonitor version 2.3 (all are described in the new Help file) :
VB.NET:
- SourceMonitor now supports VB.NET 2005. The metrics collected for VB.NET are the same as those provided for C#.
All languages:
- SourceMonitor now checks for and rejects source code files that use UTF encoding. This judgement is based on the first three or four bytes in each file, where the UTF file format is specified. UTF-8, UTF-16, and UTF-32 encoding, both big-endian and little-endian, are detected and rejected. Even when such files have one of the extensions specified for a project's language, the file may not be included in a new checkpoint.
- Sort direction icons now appear in the headers of columns in the Project View, the Checkpoint View, and the Method View. These triangular icons show the column on which the data is sorted and the direction of the current sort.
- Each language can now have an optional list of excluded file extensions in addition to the current list of included file extensions. (The latter are identified as the "Filter" property in a SourceMonitor project.) Both file extension lists are used to suggest files to be included in a new checkpoint. Excluded file extensions were added to allow you to exclude files created and maintained automatically for C# and VB.NET applications developed with Microsoft's Visual Studio. For example, in C# these files have extension "*.Designer.cs" while normal code files have extension "*.cs".
- Three new elements have been added to SourceMonitor's command file language:
- <export_all_checkpoints/> This is a boolean element: when it is present, this element causes SourceMonitor to ignore any checkpoint specified in a command and export all checkpoints in the designated project.
- <export_option> This element can be used to specify export options other than those already set on the "Export" tab in SourceMonitor's "Options" dialog. For example, if you have selected "Include method-level metrics counts in XML details exports" in the "Options" dialog, you can use the <export_option> element to specify a command line export that does not include method-level metrics without changing that option in SourceMonitor's current options.
- <export_insert> The string value in this element is inserted between "<?" and "?>" on the second line of an XML export file. This value can be used to specify a stylesheet for the display of exported metrics in a web browser. For example, xml-stylesheet type='text/xsl' href='SourceMonitor.xslt'.
Each of these elements must appear inside an <export> element.
Enhancements Added in Version 2.2:
All Version 2.1 bugs through number 58 have been fixed in this new version. Thanks to all SourceMonitor users who reported bugs and made suggestions for enhancements. Both are much appreciated. This version uses the same project file format as version 2.1.
The following enhancements were added to SourceMonitor version 2.2 (and described in the new Help file) :
All languages:
- A new metric, average complexity, has been added for all languages that include complexity metrics. This new metric is displayed in a new column to the right of the average block depth metric in both the Project View and the Checkpoint View. Average complexity has been added to the default metrics displayed in Kiviat diagrams. This metric is also displayed in the Metrics Details Dialogs and exported in both the XML and CSV export formats.
- A new button has been added to the Metrics Details Dialog that you can use to copy the text displayed in the dialog to the Windows clipboard. Once on the clipboard, you can paste into any program that manipulates text such as Microsoft Word or Dreamweaver.
- The browse for directory now opens with your current working directory highlighted (so you don't have to select all the way down from the top each time).
- The metrics parsers for most languages have been improved, especially for complex code with implied blocks following branch statements such as if or while.
Enhancements Added in Version 1.3 :
The following major enhancements were added to SourceMonitor in version 1.3 :
All languages:
- Modified creation of a new checkpoint to allow a date/time other than the current date and time. This allows you to compute metrics for source code written earlier, perhaps retrieved from a source code version control system.
- Added a second export option to write metrics data to XML files. Sample export files as well as DTD and XMLSchema files are included with SourceMonitor.
- Added a command line option that executes commands specified in an XML file. You can use the command file to create a new project, create a new checkpoint, export the metrics in a checkpoint (either the summary data or the data for individual files), and delete a checkpoint. A sample command file and its DTD and XMLSchema are provided.
- Added a return value provided to the operating system when SourceMonitor exits after execution of a command file. The value is the number of errors encountered during execution of the command file. This allows you detect errors when you run SourceMonitor from a batch file and act accordingly.
- In support of the new export option, made the Project View a multiselect list, so you can now deleted a group of selected checkpoints or export metrics from a group of selected checkpoints. Also added a "Select All" option with an associated Ctrl-A accelerator key to both the Project View and the Checkpoint View.
- Added a "View Logfile" item in all "View" menus.
- Added a double click to open the Metrics Details dialog for a file in the Checkpoint View's file list.
- Added a third option to the second step in the create new project wizard. This allows you to specify an arbitrary directory for your project file. (Previously you had just two options, with the source code or with the executable, SourceMonitor.exe.)
- Added auto-generation of default checkpoint names so you don't have to type in a name for a new checkpoint unless you don't want the default name. The default name is "CheckpointN" where N is the next highest unused number in the project.
- Added a line and column number display to the View Source File dialog. Also highlight the deepest line and biggest method when you click on the appropriate button.
- Changed the labels at the bottom of the Metrics History graph from the checkpoint dates to the checkpoint names.
New Language: C#
A parser for C# has been added. Most of the metrics are similar to C++ and Java. The primary difference is how the "biggest" method is determined. Instead of identifying the method with the most statements, for C# the most complex method is found for each file. The complexity measurement is similar to Cyclomatic Complexity - a count of the possible pathways through the code.
Java:
Enhanced the parsing logic so that anonymous inner classes are now included properly in the metrics counts.
Campwood
Home Page