The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Code::Statistics - collects and reports statistics on perl code

VERSION

version 1.190680

SYNOPSIS

On a terminal:

    # collect statistics on the current directory and sub-directories,
    # then store results in codestat.out as json
    codestat collect

    # compile a report from codestat.out and print to the terminal
    codestat report

DESCRIPTION

This is a framework to collect various metrics on a codebase and report them in a summarized manner. It is meant to be as extensible as possible.

The current collection workflows are as follow:

Collection

All files in the search path are collected.

Target constructs as defined by modules living under Code::Statistics::Target:: are collected for all files.

Metrics as defined by modules living under Code::Statistics::Metric:: are collected for all targets.

All data is dumped as json to codestat.out.

Reporting

Data from the local codestat.out is read.

Data is grouped by target and for each target type the following is printed:

Averages of all non-location metrics.

Tables with the top ten and bottom ten for each significant metric.

SUBROUTINES/METHODS

This module acts mostly as a dispatcher and collects configuration data, then forwards it to actual action modules. These are the methods it currently provides.

collect

    Dispatches configuration to the statistics collector module.

report

    Dispatches configuration to the statistics reporter module.

TODO

Possibly elevate metrics to objects to allow parametrized metrics during collection. Not sure if i want this or whether making more generic metrics is a better idea. http://gist.github.com/549132

SEE ALSO

PPI::Tester

AUTHOR

Christian Walde <mithaldu@yahoo.de>

COPYRIGHT AND LICENSE

Christian Walde has dedicated the work to the Commons by waiving all of his or her rights to the work worldwide under copyright law and all related or neighboring legal rights he or she had in the work, to the extent allowable by law.

Works under CC0 do not require attribution. When citing the work, you should not imply endorsement by the author.