Andrew Savige sent the following bits through the ether: > I'm an enthusiastic admirer of Schwern's CPANTS kwalitee vision and > aware of Module::CPANTS but unsure about the current state of play. > Tips on other stuff I should look at are welcome.
[From a Module::CPANTS perspective...] Module::CPANTS is a small subset of Schwern's original kwalitee vision, in so far as it is a bunch of metrics that I can easily extract without eval-ing the whole of CPAN. The actual module is a big hash of hashes, but I think shipping an SQLite database might be a better idea in future. I highly recommend trying out Thomas' web form, which has some good example queries at the bottom: http://domm.zsi.at/cpants/search > 1) Archive nit-picker. Archive::Any's is_impolite/is_naughty is a > start. Also test for: "good cross-platform" file names (my > original question); "good" Changes, README, t/ directory etc.. I like the is_impolite / is_naughty ideas, and will roll them into the next version. If you have a simple metric for a good cross-platform filename, that'd be good. I'm not sure about how you mean a "good" Changes. For a start, people call them different things (Changes, CHANGES, ChangeLog etc.), and format them differently. What is a good README? To be honest, now that we have web interfaces to docs on search.cpan.org I don't think that READMEs are terribly important. The current version of CPAN reports the number of tests for a distribution (but only if it's had a FAIL, sigh). > 2) POD tester. Use Test::Pod/Pod::Coverage, say, on all POD in a > distribution. I don't want to eval the whole of CPAN. Maybe we could get the CPAN Testers to do this? > 3) Static Perl code analyser. I suppose PerlTidy, Module::Info, > B::Lint may be helpful. Any others? To achieve what? > 4) Test suite analyser. How good is the test suite? Use perhaps > Devel::Cover to determine how much of the code is covered by > the distribution's test suite. Sure, convince CPAN Testers to do this ;-) > 5) Signature checker. Sure. > 6) Prerequisite checker. What would you check, exactly? > 7) Version checker. What would you check, exactly? > Anything else? Does such a module/script already exist? Module::CPANTS::Generator contains a number of metric finding functions. It's great that somebody else thinks that metrics is a good idea. I thought it was just Schwern, Thomas and I! ;-) Leon -- Leon Brocard.............................http://www.astray.com/ scribot.................................http://www.scribot.com/ ... Hi-ho, hi-ho, it's hand grenades I throw...