Project Analyzer reports - Lists

Reports

The list reports are available in the Report menu behind the Lists submenu. They report the contents of the analyzed system.

File list

This report produces a simple list of files that belong to your project. Each file detected is included whether it has been analyzed or not.

Sample report: File list

File list with details

This is a more thorough file listing. Besides a file list and a directory list, it includes the following information for each file:

Sample report: File list with details

File sizes and dates

This report lists files with their size in bytes and counts the number of lines in each source code file. The line count provided is the number of physical lines (LINES metric). The report also lists files by their age: date last modified and age in months.

This report counts the lines in each Visual Basic file. You can spot large code files. You can find large binaries such as .frx, .res and .resx files. You can also look for files that have not been recently updated even when they should have been.

There is also a section on source file ages. You see the number of files by year last modified. You also see how many files were modified just recently, and how many of them are more than x years old. This information is useful for understanding when the project has been worked on. The end of the report counts how many files were saved on each weekday and at different times of day.

Sample report: File sizes and dates

Files and projects

When you have done a multi-project analysis and wish to know which file belongs to which project, get this report.

When you have analyzed a directory path, this report tells you which files belong to one or more projects, and which files don't belong to any project. Such files could be superfluous or old files that were excluded from projects.

Module list

The Module list report prints modules, forms, classes, structures, interfaces etc. in alphabetical order. If you have analyzed a .NET project, COM files or several projects together, you also get a hierachical listing which groups the modules by their namespace or project/library name.

In addition to simply listing modules, this reports also classifies the modules. Groups include abstract class, concrete class, stateless class, standard module (with and without state), interface and the like. This feature is useful when learning to understand the structure of an existing large system.

Sample report: Module list

Tip: You can get tailored module lists in the Modules window, where you can filter the lists and sort them the way you like.

Namespace list

This report lists all defined namespaces. It is designed for .NET projects and solutions and is not useful for earlier VB versions.

Procedure list

The procedure list reports procedure declarations module by module.

Sample report: Procedure list

Tip: You can get tailored procedure lists in the Procedures window, where you can filter the lists and sort them the way you like.

Procedure list, alphabetical

This report lists all procedures sorted by name.

Sample report: Procedure list, alphabetical

Procedure list with details

This report is like the basic procedure list with the following details added.

Variable list

This report lists global and module-level variables defined in the system. The variables are grouped by the module they are in. A data type summary section appears at the end of the report.

A global variable is a Friend or Public variable in a Module. Other variables are module-level ones.

Note: Local variables inside procedures are not listed on this report. Use the Variables, constants and parameters window to report them as well.

Sample report: Variable list

Constant list

Constants are grouped into numeric and string constants. The underlying numeric constant value is resolved and displayed when possible. This is useful when constants are defined on other constants or using a mathematical formula.

A data type summary section appears after the list of constants. Integer constants are further grouped into decimal, hexadecimal and octal constants.

Sample report: Constant list

Tip: You can get tailored variable and constant lists in the Variables, constants and parameters window, where you can filter the lists and sort them the way you like. You can also report dead/live status here.

Types, Enums and Aliases

This report lists user-defined Types (Type..End Type), Enums (Enum..End Enum) and COM Aliases. The actual title of the report varies based on which of Types, Enums or Aliases are available.

.NET Structures are not listed on this report as they are very similar to classes, not classic user-defined types (simple records). You can get .NET Structures in the Module list report or the Data types window in the View menu.

Sample report: Types and Enums

Tip: You can get tailored data type and enum lists in the Data types window, where you can filter the lists and sort them the way you like.

Dictionary

The Dictionary lists all declared identifiers alphabetically. The list includes variables, constants, procedures, modules and the like.

The Dictionary is useful for checking how names are defined in the project. As an example, you can check which names begin with an underscore. You can also use tehreport to show up duplicate names.

An extensive naming statistics section with the Dictionary. This is where you can see how long the names are in the system. The section shows the use of UPPERCASE, lowercase, ProperCase, camelCase and other names. You also get statistics on various special characters used in names, including underscores and numbers.

Note: The statistics in the Dictionary differ slightly from those given in the Design quality report. It's by design. The Dictionary considers all names but the Design quality report ignores a small number of names that shouldn't be considered when evaluating naming quality.

Sample report: Dictionary

See also

Reports

© Project Analyzer Help