|
NAMEPerl::Metrics::Simple::Analysis - Contains anaylsis results. SYNOPSISThis is the class of objects returned by the analyze_files method of the Perl::Metrics::Simple class. Normally you would not create objects of this class directly, instead you get them by calling the analyze_files method on a Perl::Metrics::Simple object. VERSIONThis is VERSION 0.1 DESCRIPTIONUSAGEnew$analysis = Perl::Metrics::Simple::Analsys->new( \@file_objects ) Takes an arrayref of Perl::Metrics::Simple::Analysis::File objects and returns a new Perl::Metrics::Simple::Analysis object. dataThe raw data for the analysis. This is the arrayref you passed as the argument to new(); filesArrayref of file paths, in the order they were encountered. file_countHow many Perl files were found. linesTotal lines in all files, excluding comments and pod. main_statsReturns a hashref of data based the main code in all files, that is, on the code minus all named subroutines. {
lines => 723,
mccabe_complexity => 45
}
file_statsReturns an arrayref of hashrefs, each entry is for one analyzed file, in the order they were encountered. The main_stats slot in the hashref is for all the code in the file outside of any named subroutines. [
{
path => '/path/to/file',
main_stats => {
lines => 23,
mccabe_complexity => 3,
path => '/path/to/file',
name => '{code not in named subroutines}',
},
},
...
]
packagesArrayref of unique packages found in code. package_countHow many unique packages found. subsArray ref containing hashrefs of all named subroutines, in the order encounted. Each hashref has the structure: {
'lines' => 19,
'mccabe_complexity' => 6,
'name' => 'databaseRecords',
'path' => '../path/to/File.pm',
}
sub_countHow many subroutines found. summary_statsReturns a data structure of the summary counts for all the files examined: {
sub_length => {
min => $min_sub_length,
max => $max_sub_length,
sorted_values => \@lengths_of_all_subs,
mean => $average_sub_length,
median => $median_sub_length,
standard_deviation => $std_dev_for_sub_lengths,
},
sub_complexity => {
min => $min_sub_complexity,
max => $max_sub_complexity,
sorted_values => \@complexities_of_all_subs,
mean => $average_sub_complexity,
median => $median_sub_complexity,
standard_deviation => $std_dev_for_sub_complexity,
},
main_complexity => {
min => $min_main_complexity,
max => $max_main_complexity,
sorted_values => \@complexities_of_all_subs,
mean => $average_main_complexity,
median => $median_main_complexity,
standard_deviation => $std_dev_for_main_complexity,
},
}
STATIC PACKAGE SUBROUTINESUtility subs used internally, but no harm in exposing them for now. Call these with a fully-qualified package name, e.g. Perl::Metrics::Simple::Analysis::is_ref($thing,'ARRAY') is_refTakes a thing and a type. Returns true is thing is a reference of type type, otherwise returns false. BUGS AND LIMITATIONSNone reported yet ;-) DEPENDENCIESSUPPORTVia CPAN: Disussion Forumhttp://www.cpanforum.com/dist/Perl-Metrics-Simple Bug Reportshttp://rt.cpan.org/NoAuth/Bugs.html?Dist=Perl-Metrics-Simple AUTHOR Matisse Enzer
CPAN ID: MATISSE
Eigenstate Consulting, LLC
matisse@eigenstate.net
http://www.eigenstate.net/
LICENSE AND COPYRIGHTCopyright (c) 2006-2009 by Eigenstate Consulting, LLC. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of the license can be found in the LICENSE file included with this module. SEE ALSOperl(1).
|