Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 49.481.845 Times

Perl::Metric::Basic 0.31

  Date Added: September 13, 2010  |  Visits: 1.022

Perl::Metric::Basic

Report Broken Link
Printer Friendly Version


Product Homepage
Download (90 downloads)



Perl::Metric::Basic is a Perl module that can provide basic software metrics. SYNOPSIS # first construct a PPI::Document object to pass in my $document = PPI::Document->load("t/lib/Acme.pm"); # then retrieve metrics on the document my $m = Perl::Metric::Basic->new; my $metric = $m->measure($document); # $metric will consist of something like: # Acme => { # new => { # blank_lines => 1, # comments => 1, # lines => 7, # lines_of_code => 6, # numbers => 0, # numbers_unique => 0, # operators => 3, # operators_unique => 2, # symbols => 5, # symbols_unique => 2, # words => 7, # words_unique => 6 # }, # ... When constructing software one often produces code of vastly differing quality. The Perl::Metric::Basic module leverages the PPI module to provide some interesting software metrics for Perl code, mostly measuring size and maintainability. A metric is some sort of measurement which is intended to help you make a decision about a piece of code. There arent any hard rules about metrics, but the ones provided should allow you to make decisions about modules or subroutines which are outliers. Abnormal measurements in a subroutine are a warning sign that you should reexamine that routine, checking for unusually low quality. This module uses the PPI module, and thus can parse Perl code without evaluating it. If youre interested in software metrics, I highly recommend "Code Complete" (Second Edition) by Steve McConnel (Microsoft Press). METHODS new() The new() method is the constructor: my $m = Perl::Metric::Basic->new; measure() The measure() method measures some metrics and returns a hash reference. Files in Perl can contain more than one package, and it is interesting to seperate metrics by package. The key for the hash reference is the name of the package, and the value is another hash reference. Perl packages are seperated into subroutines, and it is interesting to seperate metrics by subroutine. The key for the second hash reference is the name of the subroutine, and the value is another hash reference containing metrics. There are various metrics applied to the subroutine. The key for the third hash reference is the name of the metric, and the value is the value of the metric. The metrics are: blank_lines The number of blank code lines. comments The number of lines containing comments. lines The total number of lines. lines_of_code The number of lines of code. numbers The total number of numbers used (eg "$z = 42 * 3" would have 2 numbers). numbers_unique The number of unique numbers used (eg "$z = 2*$x + 2*$y" would have 1 unique number). operators The total number of operators used. operators_unique The number of unique operators used. symbols The total number of symbols used (eg "$z = $x*$x + $y*$y" would have 5 symbols). symbols_unique The number of unique symbols used (eg "$z = $x*$x + $y*$y" would have 3 unique symbols). words The total number of words (operators) used. words_unique The number of unique words used..

Requirements: No special requirements
Platforms: Linux
Keyword: Code Libraries Lines Metrics Number Perl Module Perlmetricbasic Ppi Programming Symbols Unique
Users rating: 0/10

License: Freeware Size: 5.12 KB
USER REVIEWS
More Reviews or Write Review


PERL::METRIC::BASIC RELATED
Libraries  -  Alien Perl module 0.91
Alien Perl module package contains external libraries wrapped up for your viewing pleasure! SYNOPSIS perldoc Alien; Alien is a package that exists just to hold together an idea, the idea of Alien:: packages, so there is no code here, just...
10.24 KB  
Libraries  -  OpenGeoDB Perl module 0.4
OpenGeDB Perl module is a module to access the OpenGeoDB database and calculate all ZIP codes in a certain radius..
3.07 KB  
Network & Internet  -  MyCMS perl module 1.0
MyCMS perl module provides the MN::CMS Perl module used by the MyCMS. MyCMS perl module contains Perl object classes to manage the data of MyCMS (such as articles, links, and images). MN::CMS is a perl module that allows you to manage an...
16.38 KB  
Libraries  -  Acme::EyeDrops 1.51
Acme::EyeDrops is a Perl module for visual programming in Perl. SYNOPSIS use Acme::EyeDrops qw(sightly); print sightly( { Shape => camel, SourceFile => eyesore.pl } ); Acme::EyeDrops converts a Perl program into an equivalent one, but...
102.4 KB  
Libraries  -  Lingua::ID::Nums2Words 0.01
Lingua::ID::Nums2Words is a Perl module to convert number to Indonesian verbage. SYNOPSIS use Lingua::ID::Nums2Words ; print nums2words(123) ; # "seratus dua puluh tiga" print nums2words_simple(123) ; # "satu dua tiga" nums2words...
3.07 KB  
Benchmark Tools  -  Stopwatch Perl Module 0.10.3
Perf::Stopwatch is a Perl Module that can be quickly added and removed from any existing code to debug/optimize portions of code. Example of use are: database calls, loop efficiency, total script time, and webpage timeouts.
5.98 KB  
Programming  -  Perl Module Manager 1.2.0.18
Perl Module Manager helps you to install, un-install and manage Perl modules from a CPAN site and other sources in an easy and intuitive way. Allows you to search through thousands of useful modules and libraries on a CPAN site and its mirrors....
1.44 MB  
Libraries  -  Scrape::USPS::ZipLookup Perl Module 2.4
The United States Postal Service (USPS) has on its web site an HTML form at http://www.usps.com/zip4/ for standardizing an address. Given a firm, urbanization, street address, city, state, and zip, it will put the address into standard form...
11.26 KB  
Science  -  Bio::Parse::SwissProt - perl module 0.5
A Perl module that provides methods for retrieving each and every field from a standard SwissProt file.
9.61 KB  
Libraries  -  Myco::Devel 1.22
Myco::Devel is a Perl module for myco Developers Guide. This guide is intended for developers wanting to build applications with myco. You should have a decent grasp of the Perl programming language, or else a solid grasp of another programming...
102.4 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB