Lately I poked around a bit at CPANTS. I should maybe say that I am not really believing in this kwalitee thing and am mostly d'accord with what Schwern wrote about it on cpanratings.
Nonetheless I couldn't resist of looking up the scores of my modules. They weren't quite as high as possible because so far I haven't done any pod-coverage in my tests. This can be easily rectified. Then I noticed an annoying thing about Test::Pod and Test::Pod::Coverage: They claim to rely on Test::More. This is bad for some of my modules which are supposed to run on older perls, too, so I only use the plain Test module for their tests. Yet, CPANTS somehow tickled my vanity so I came up with test suites that use Test::Pod and Test::Pod::Coverage respectively without any need for Test::More:
eval "use Test::Pod";
if ($@) {
print "1..0 # Skip Test::Pod not installed\n";
exit;
}
my @PODS = qw#../blib#;
all_pod_files_ok( all_pod_files(@PODS) );
and in a similar fashion for Test::Pod::Coverage.
Of course, this exposes my modules to other potential problems, such as when the Test::Harness protocol changes, and thus makes it more flakey. However, the kwalitee score is now higher which already says something about the value of the kwalitee measurement.
Also, I think this test from CPANTS:
is_prereq
Shortcoming: This distribution is only required by 2 or less other distributions.
Defined in: Module::CPANTS::Generator::Prereq
is plain wrong and worthless. Why should it be a good thing that a module is used as a prerequisite by other modules? There's a whole class of modules on the CPAN that provide very high-level functionality and will therefore never be a prerequisite (think of modules such as Mail::Box or MPEG::MP3Play). This applies to all modules that are used to write applications instead of other modules.
prereq (Score:1)
Email domm :-)
is_prereq (Score:1)
is_prereqis not worthless. While what you say is obviously true (some good modules may not be used by any other), the reverse does not necessarily apply: if a module is being used by other modules, written by different authors, then that's a sign that there are other people who respect it, and therefore it's got a chance of being of higher quality than other, similar modules that have no such dependencies.If I'm trying to pick between several app-oriented modules then none of them will have is_prereq,
Re:is_prereq (Score:2)
Ah, but you say "quality". kwalitee != quality.
If I chose to add a module as dependency, do I care whether this module has a README? Or whether it has POD coverage tests? Or uses strict everywhere? No, no and no. I include it because it turned out to be
Re:is_prereq (Score:1)
Actually I said "a chance of ... quality", the point being that it doesn't necessarily mean that the module is of higher quality, but in general there's likely to be a correlation between quality of mo