Phalanx / CPANTS / Kwalitee

2003-10-13 Thread Thomas Klausner
Hi!

CPANTS and Phalanx both care about Kwalitee. So I thought it might be a good
idea to come up with one more or less complete list of Kwalitee-hints that
both projects can use.

A lot of the hints listed at http://qa.perl.org/phalanx/kwalitee.html are
rather vague, which is OK for Phalanx, as it is run by humans.

But CPANTS needs a hard, computable list of hints.

Anyway, here is what the dev-version of CPANTS currently cosiders as
kwalitee-hints: 

* distname includes version
* extracts nicely
* does not include symlinks (which some OS cannot handle)
* no strange permissions (files undeleteable by owner, eg)
* contains files:
  * Makefile.PL or Build.PL or configure
  * README
  * MANIFEST
  * t/* or test.pl
  * one *.pm in top-level OR lib/

Hints that were in Leon's last release, but which I didn't port up to now:
* POD errors
* POD/Code ratio (what would be a good measurement?)
* testers results
* number of releases

Some ideas:
* wheater PREREQ_PM matches used modules (hard!)
* AUTHOR != 'R.U. Thor'
* Description
* ratings
* a lot of code analysis (to be done without running the code!!)

Obviously, this list is far from complete, which is why I request some
feedback on more hints for Kwalitee from all of you!


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


Re: Phalanx has started, and I need perl-qa's help

2003-08-22 Thread Thomas Klausner
Hi!

On Thu, Aug 21, 2003 at 10:48:11PM -0500, Andy Lester wrote:
 The Phalanx project has started its rampup to an official 
 announcement.  Phalanx is going to beef up the tests, coverage and 
 docs on Perl and 100 heavily-used modules from CPAN.

Have you got an plans on combining Phalanx and CPANTS?

As far as I understand it, Phalanx is mainly a manual project. I.e. real
humans (with brains and all) will look at some modules, apply some tests
(as listed in http://qa.perl.org/phalanx/kwalitee.html) and improve those
modules

CPANTS on the other hand is 100% automatic and limited to dumb computing
power.  One of the basic ideas of CPANTS (when I first heard about from
Schwern at YAPC::Europe 2001) was exactly what you're doing now: Improving
the quality of CPAN. 

I guess that there could by some synergic effects (is this an English word? 
Synergieffekte in German?).

Leon?

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


Re: Scrutinizing CPAN distributions (was Testing for valid path names...)

2003-08-20 Thread Thomas Klausner
Hi!

On Tue, Aug 19, 2003 at 04:00:44PM +0100, Tony Bowden wrote:

 I'd certainly like to see something like this worked on. We do a lot of
 this stuff automagically as part of our RCS anyway - people can't check
 in code that doesn't pass certain guidelines (all public methods
 documented etc.)

 Building this in a way so that people can just drop in simple 'test'
 modules to extend what's being checked for would be nice...

There's Test::Distribution by Marcel Gruenauer (who's from Vienna, too). It
sort of does parts of this, but it's supposed to be part of your test suite.

I never took a closer look at it, though, so I don't knoe if/how it would
fit into the CPANTS/kwalitee scheme.

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


Re: Scrutinizing CPAN distributions (was Testing for valid path names...)

2003-08-18 Thread Thomas Klausner
Hi!

On Mon, Aug 18, 2003 at 11:25:14PM +1000, Andrew Savige wrote:

 It doesn't have to eval the whole of CPAN to be useful.
 I see the mythical Module::Scrutinize as perhaps a little orthogonal
 to Module::CPANTS, as something that may help individual CPAN authors
 produce a higher quality product, running their CPAN module through it
 pointing out things that might be improved. It may also be handy to

Just yesterday I was thinking of something like validator.cpan.org (parallel
to validator.w3.org):

Upload a dist and let it be checked by a future version of Module::CPANTS.

You should get back a report and/or a kwalitee rating. If the kwalitee is
too low, improve your distribution (where improve means: code the module so
that it gets a high kwalitee). The hard part of this validation service is
definitly deciding how to calculate kwalitee.

   6) Prerequisite checker.
  
  What would you check, exactly?
 
 That the prerequisites in Makefile.PL/Build.PL/META.yml match the code.

The current of Module::CPANTS includes a field called 'requires_module',
which is basically prereq_pm. There's another field called 'uses' that
contains all the modules used. (this is generated by parsing the code using
a Parse::RecDescent based parser called Module::Extractuse (written by me
(end-of-plug)).

I didn't found the time to match those two data fields after dropping Core
modules and modules provided by the distribution itself. But I'm planning to
do it. 

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


<    1   2