Chris Dolan wrote:
is_prereq is usually a proxy metric for software maturity: if someone thinks your module is good enough that he would rather depend on it than reinvent it, then it's probably a better-than-average module on CPAN. is_prereq is usually a vote of confidence, so it is likely a good proxy for quality. In fact I believe that because the author (usually) can't control it directly, is_prereq is one of the best proxies for quality among the current kwalitee metrics.

I'd go so far to argue that is_prereq is perhaps a more significant metric than Kwalitee itself as it is really a measure of *utility*. I'd be very interested to see it explored fully, not just as a binary -- e.g. how many different authors used a module in at least one of their distributions.

That said, it doesn't mean much for quality -- people may well use a poor quality distribution if it is sufficiently useful.

As an example, consider pod_coverage. It's a rather annoying metric, most of us agree. Test::Pod::Coverage really only needs to be run on the author's machine, not on every user's machine. However, by adding pod_coverage to kwalitee we got LOTS of authors to improve their POD with the cost of wasting cycles on users' machines. I think that's a price worth paying -- at least until we rewrite the metric to actually test POD coverage (which is a decent proxy for POD quality) instead of just checking for the presence of a t/pod_coverage.t file (which is a weak proxy for POD quality, but dramatically easier to measure).

It doesn't check for the existence of a t/pod_coverage.t file. It checks that a string like "use Test::Pod::Coverage" appears properly formatted. E.g. I believe this is sufficient to get the Kwalitee point:

  # t/pod_coverage.t
  __END__
  use Test::Pod::Coverage;

And, unfortunately, it also misses actual perl that doesn't meet its regex expectations. (E.g. see the bug I recently filed for Module::ExtractUse.)

Regards,
David

Reply via email to