Hi!

On Tue, Sep 12, 2006 at 11:15:50AM -0500, Chris Dolan wrote:

Wow, excellent post!

Some notes:

> The next step in the exercise becomes how to implement those  
> measures.  In the current CPANTS simple proxies are used for those  
> measures.  Namely, we assume that if there is a t/*pod.t file present  
> then the pod is valid, and if there is a t/*pod_coverage.t present  
> then all subroutines are documented.

In fact, CPANTS actually runs Pod::Simple::Checker on the POD, so the
t/*pod.t check is more or less redunant. If there's a problem with the
POD, a dist won't get points for 'no_pod_errors'. (In the next release
of Module::CPANTS::Analyse the errors reported by Pod::Simple::Checker
will be available on cpants.perl.org)

The problem with pod_coverage is that Pod::Coverage executes the code to
get a list of all functions, and then uses some Pod parsing to check if
they are all covered. But running code is something CPANTS just cannot
do (at least not for all of CPAN (Win32::*, interfaces to various C
libraries, etc).

> Thus, I finally get to an action item: CPANTS should encourage  
> authors to run Module::CPANTS::Analyse offline before uploading to  
> CPAN.  I assert that if we can convince authors to perform more  
> thorough tests of their packages at author-time, then the quality of  
> CPAN will improve.  And the more closely the metrics match our real  
> quality goals, the bigger the quality delta we will achieve.

Well, I could add a metric like 'has_test_kwalitee' to check for
t/99_kwalitee.t which uses Test::Kwalitee :-)

Basically, nearly most of what you said describes quite exactly what I
think.

When I took over CPANTS, I was targetting low-hanging fruits (like some
simple-to-check files). Now, we are implementing more complex metrics
that are obviously more meaningfull than simple
does-this-file-exists-stlye metrics. 

In theory, we can now remove some of the very simple metrics (that
might not make that much sense), i.e. has_test_pod (no_pod_errors is
much better) and has_test_pod_coverage

The main reason why they're still here is because I do get reports from
people that say that adding these two test files (which they maybe never
heard of before (not everybody hangs around on YAPCs, IRC, use.perl and
perlmonks...)) made them add more/better docs. Which is good.


-- 
#!/usr/bin/perl                               http://domm.zsi.at
for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/}

Reply via email to