Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

domm (4030)

  (email not shown publicly)

Just in case you like to know, I'm currently full-time father of 2 kids, half-time Perl hacker, sort-of DJ, bicyclist, no longer dreadlocked and 33 years old

I'm also head of [], maintainer of the CPANTS [] project, member of the TPF Grants Commitee [] and the YAPC Europe Foundation [].

I've got stuff on CPAN [], held various talks [] and organised YAPC::Europe 2007 in Vienna [].

Journal of domm (4030)

Wednesday September 06, 2006
04:26 AM

Post-YAPC::Europe CPANTS news

[ #30903 ]

During YAPC::Europe in Birmingham I did a (rather short and un-hackish) hackathon. Slides are available here.

I added a few new metrics:

  • manifest_matches_dist
    Check if the stuff listed in MANIFEST matches what's in the dist
  • buildtool_not_executable
    Check if the buildtool (Makefile.PL, Build.PL) are not executable (and thus need to be called with 'perl Build.PL' thereby specifying which exact version of Perl you want)
  • has_example
    An optional metric that checks if the author included a dir called 'eg|ex|example(s?)' which in turn includes at least on *.pl

This resulted in quite some movement in the CPANTS game...

I've also changed the display of the author pages, optional metrics (is_prereq and has_example) are now visually seperated from the core metrics.

The site is still not very stable due to a Catalyst/DBIx::Class-Bug (or more likely a bug in my usage of them).

Oh, and if you want to join the fun and help a bit, here's a (probably incomplete) list of tasks:

  • Metrics:
    • has_license
    • no_boilerplate
    • has_valid_filenames
    • declares_dependencies
    • no_open_bugs
    • Signature checking ?
    • has_rating ?
    • relation of subs to lines of code ?
  • Scripts
    • Generate a SQLite DB dump from the postgres DB
  • Catalyst Frontend
    • sqash bug
    • Split up dist/view into several sub-pages
    • API / Webservice
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • But you should also add 'demo' and 'demos' to the list of examples directories.
    • For that matter, I'm not so sure about the 'at least one *.pl requirement'. It may very well be a non-perl demo, aka site code like .xsp ot .tt pages that requires no pl file; but they're examples non the less.

      Yes, I'm biased [], and that .pl file is going away now that I'm using DBIC. :-)
    • And "samples".
  • Cool!

    Some ideas:

    1) Document/discuss possible future metrics on the Perl-QA wiki []

    2) For each metric, document the aspect of Quality that is being judged and how the Kwalitee metric is a good proxy for it, and/or possible other proxies. For example, consider the software goal of "Good documentation". Currently that metric follows the following chain of proxy metrics:

        Good documentation => 100% POD coverage => has t/.*pod.*coverage.* file

    A better proxy might be for CPANTS to run Pod::Cover
    • consistent_newlines - proposed by Adam Kennedy on Perl-QA in April

      Was that consistent newlines per file, or per dist? Some dists have legit reason to have some files native line endings and some files w/ non-0native line endings. I've done it in Handel. Some things just don't work in windows unless the file has *nix line endings, like __DATA__ vs. __END__ in some situations.