Re: Phalanx / CPANTS / Kwalitee

2003-10-17 Thread Nicholas Clark
On Mon, Oct 13, 2003 at 10:28:29AM +0200, Thomas Klausner wrote:

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

Something I'd be curious about:
  Modules with lower case names which aren't pragmas.

(although how you determine this is hard)

Nicholas Clark


Re: Phalanx / CPANTS / Kwalitee

2003-10-17 Thread Thomas Klausner
Hi!

On Fri, Oct 17, 2003 at 10:09:04PM +0100, Nicholas Clark wrote:

 Something I'd be curious about:
   Modules with lower case names which aren't pragmas.
 
 (although how you determine this is hard)

Well, here's a list of lowercase dist on CPAN (238 dists). Quite a lot of
those are in fact real distributions (eg. perl, parrot). In fact I think
that perl itself shouldn't be part of CPANTS 

I've no clue on how to figure out if something is a pragmatic module (any
hints appreciated..)


abbreviation-0.02
again-0.02
autobless-1.0.1
autobox-0.06
base-2.01
base-Glob-0.01
bbobj-0.5.0
beancounter_0.6.2
bid
bignum-0.14
bioperl-0.05.1
bioperl-0.6.2
bioperl-0.7.0
bioperl-1.0
bioperl-1.0.2
bioperl-1.2
bioperl-1.2.1
bioperl-1.2.2
bioperl-db-0.1
bioperl-ext-0.6
bioperl-gui-0.7
bioperl-run-1.2.2
bitflags-0.10
capitalization-0.01
chronos-1.1.6.1
compatlib-1.2
conjury-1.004
coroutine0-0.02
csv2txt-2.0
ctflags-0.03
cvswebedit-v2.0b1
cyrillic-1.05
cyrillic-2.09
c_plus_plus-0.1
dapple-0.21
dateheader-1.0
dbd_rdb-1_16
dbMan-0.31
dbsh-0.01
ddb-1.3.1
deltax-modules-3.06
dTemplate-2.4
ebx-0.87
ec-1.25
enum-1.016
enum-fields-1.0
eperl-2.2.13
ePortal-3.2
esmith-1.70
eSTAR-RTML-1.7.0
etext.1.6.3
ex-constant-vars-0.01
ex-lib-zip-0.03
ex-newest-0.02
ex-override-1.1
examples
extensible_report_generator_1.13
extproc_perl-1.03
fameperl-2.1.3
finance-yahooquote_0.20
fldbm-0.01
font_ft2_0.1.0
forks-0.04
former-0.2beta
foundation-0.03
frogbak
gcrypt-0.3
gettext-1.00
gettext-1.01
glist-0.9.17a10
gmuck-1.07
grepmail-4.80
grepmail-5.10
grepmail-5.20
hp200lx-db-0.09
html2latex-1.1
htpl-3.14
http-headers-useragent-1.00
i2c-0.1
if-0.0101
import-1_01
interface-0.02
io-page-0.02
iodbc_ext_0_1
iPerl-0.6
jp_beta_1
kif-1.02
kif-2.01
lastlog.pm.gz
libao-perl_0.03-1
libapreq-1.2
libintl-perl-1.01
libnet-1.0703
libnet-1.16
libplot-perl-2.1.6.2b
libservlet-0.9.1
libservlet-0.9.2
libsirc-0.12
libwin32-0.191
libwww-perl-5.10
libwww-perl-5.53
libwww-perl-5.69
libxml-enno-1.02
libxml-perl-0.07
llg-1.07
load-0.05
log
loose-0.01
lot
makepp-1.19
mixin-0.04
mmds-1.902
modules-0.04
mod_perl-1.27
mod_perl-1.28
mqs-header-0.01
mqs-spool-0.03
mssql-1.008
namespace-0.05
new.spirit-2.0.26
new.spirit-2.1.19_beta
nsapi_perl-0.24
only-0.26
optimize-0.03
optimizer-0.05
parrot-0.0.10
parrot-0.0.3
parrot-0.0.4
parrot-0.0.5
parrot-0.0.8.1
parrot-0.0.9
parrot-0_0_7
payroll-0.4
pBLADE-0.10
pcsc-perl-1.0.8
pcsc-perl-1.2.2
pee-1.07
perl-5.6.1
perl-5.7.1
perl-5.7.2
perl-5.7.3
perl-5.8.0
perl-5.8.0-RC1
perl-5.8.0-RC2
perl-5.8.1-RC4
perl-GPS-0.12
perl-GPSData-0.02
perl-GPSData-0.04
perl-ldap-0.15
perl-ldap-0.251
perl-ldap-0.28
perl-ldap-0.29
perl-lisp-0.05
perl-vgalib-0.4
perl5-byacc-patches-0.6
perl5.00402-bindist04-msvcAlpha
perl5lib-1.02
perldap-1.4
perlhbm-0.01
perlindex-1.301
perlipq-1.25
perlmenu.v4.0
perlrpcgen-0.71a
perlSGML.1997Sep18
perl_archie.1.5
persist-0.3.2
persist-0.3.3
pgk_xs-0.05
pgsql_perl5-1.9.0
pod2lyx-0.25
podlators-1.27
poest-0.20030407
pop-0.07
ppt-0.12
pref.pm.gz
pRPC-modules-0.1005
psh-1.8
ptkFAQ-0_03
punctuation-0.02
pyperl-1.0
qtpl_perl-0.5
randompass-0.01
release-0.23
releasesystem-1.00
rlib-0.02
rms
router-lg-0.98a
rubyisms-1.0
savevars-0.07
sdf-2.001beta1
shishi-0.0.1
shufflestat-0.0.3
sitemapper-1.019
smg
smime-0.7
sol-inst-0.90a
sparky-public-1.06
speech_pm_1.0
spent-0.1
stem-0.10
strict-ModuleName-0.04
sub-curry-0.04
swig1.1p5
sybperl-2.15
tagged-0.1
tagged-0.40
tinyperl-1.0-580-win32
tkjuke-2.0.6
traceFunc-0.1
tux_perl-0.01
txt2html-2.03
types-0.05
typesafety-0.01
ubertext-0.95
uninit-1.00
uny2k-19.101
vague-1.3
variable-1.1
version-0.29
vm-1.0.1
vpopmail-0.08
vsDB-1.4.3
vstadaf-0.01
w3mir-1.0.10
web-1.44
webchat-0.05
webchat-0.64
wildproto-1.0.1
win-0.01
win32-guidgen-0.02
wing-0.9
xanton+xiri-0.63
xdbfdump-0.03
xisofs-1.3
xml-rax-0.01
xslt-parser-0.13
xxx2lout-1.35
your-0.01

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


Re: Phalanx / CPANTS / Kwalitee

2003-10-17 Thread Rafael Garcia-Suarez
Thomas Klausner wrote in perl.qa :
 
 Well, here's a list of lowercase dist on CPAN (238 dists). Quite a lot of
 those are in fact real distributions (eg. perl, parrot). In fact I think
 that perl itself shouldn't be part of CPANTS 
 
 I've no clue on how to figure out if something is a pragmatic module (any
 hints appreciated..)

You could check for the interface type field in the module list : 'p'
means 'pragmatic'.

You could also check if the distribution name matches a .pm file
in the tarball.

Oh, and the ex:: namespace is officially for experimental pragmas.


Re: Phalanx / CPANTS / Kwalitee

2003-10-17 Thread Elizabeth Mattijsen
At 23:20 +0200 10/17/03, Thomas Klausner wrote:
On Fri, Oct 17, 2003 at 10:09:04PM +0100, Nicholas Clark wrote:
  Something I'd be curious about:
Modules with lower case names which aren't pragmas.
  (although how you determine this is hard)
Well, here's a list of lowercase dist on CPAN (238 dists). Quite a lot of
those are in fact real distributions (eg. perl, parrot). In fact I think
that perl itself shouldn't be part of CPANTS
I've no clue on how to figure out if something is a pragmatic module (any
hints appreciated..)
Hopefully this will be helpful


forks-0.04
Maybe this should be integrated into threads.pm.  If people think 
this is a good idea, please let me know.  It's not a pragma, just as 
threads is not considerd to be a pragma (or is it?).


load-0.05
I definitely intend this to be a pragma.  As part of my plan for 
world domination, I would like to see this replace all AutoLoader.pm 
dependencies.  So that you can control loading of modules externally: 
on demand for threaded applications, everything at once at mod_perl 
(pre-fork) startup time.

Liz


Re: Phalanx / CPANTS / Kwalitee

2003-10-17 Thread Thomas Klausner
Hi!

On Fri, Oct 17, 2003 at 09:42:21PM -, Rafael Garcia-Suarez wrote:
 Thomas Klausner wrote in perl.qa :
  
  Well, here's a list of lowercase dist on CPAN (238 dists). Quite a lot of
  those are in fact real distributions (eg. perl, parrot). In fact I think
  that perl itself shouldn't be part of CPANTS 
  
  I've no clue on how to figure out if something is a pragmatic module (any
  hints appreciated..)
 
 You could check for the interface type field in the module list : 'p'
 means 'pragmatic'.

If the module list would be up to date that would be possible. But as it is
currently rather unmaintained (or is it not??), the module list is of little
help. Unfortunatly.

 You could also check if the distribution name matches a .pm file
 in the tarball.
 
 Oh, and the ex:: namespace is officially for experimental pragmas.

thanks for the hints...

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


RE: Phalanx / CPANTS / Kwalitee

2003-10-16 Thread Barbie
On 16 October 2003 05:47 Robert Spier wrote:

 Yes. We've been thinking about this. It either needs stealing buildd
 from Debian, having a box we don't mind destroying every so often, or
 having a VMware virtual machine we can undo easily. What we need is
 more free time ;-) 
 
 
 User Mode Linux (limiting to Linux, of course) might be a lighter
 weight way to do this. 

Would this cope with Win32, MacOS or other OS specific modules?

Barbie.



What should be in a README anyway (was Re: Phalanx / CPANTS / Kwalitee)

2003-10-15 Thread Richard Clamp
On Tue, Oct 14, 2003 at 01:14:44PM -0700, Randal L. Schwartz wrote:
 Of course, if you have a well-written name/synopsis/author info,
 I guess this is enough.  But now we've just shifted the problem.

Well when I initially thought about it I was answering the needs of
someone who wanted to know: what the module does, what its api looks
like, and what else is it going to want me to install.

If there are other more tangible needs for a README that contribute to
the magical makes me want to untar it factor then I'd like to
accommodate them but first I'll need to know what they are.  Can you
offer pointers?

-- 
Richard Clamp [EMAIL PROTECTED]


Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Thomas Klausner
Hi!

On Mon, Oct 13, 2003 at 02:57:34AM -0700, Michael G Schwern wrote:
 On Mon, Oct 13, 2003 at 10:28:29AM +0200, Thomas Klausner wrote:
  * contains files:
* Makefile.PL or Build.PL or configure
 
 configure?

there are currently 4 dists on CPAN that only include a configure script 
(makepp-1.19, glist-0.9.17a10, swig1.1p5, shufflestat-0.0.3)

179 do not include any of Makefile.PL, Build.PL or configure.

Quite a lot come with two or three of those files.

But IMO a 'configure' is not a proper subsitute for Makefile.PL/Build.PL, so
I won't use it as a kwalitee indicator.


* t/* or test.pl
 
 test.pl is not a good thing.  It doesn't get parsed by make test.  It just
 runs and spits the output to the screen.  If a test fails, make test will
 still succeed.  Still, its better than nothing at all.

So t/* should hint more kwalitee than only test.pl

  Some ideas:
  * wheater PREREQ_PM matches used modules (hard!)
 
 Nearly impossible since:
 
 require Foo::Bar if $some_condition;

There are obvioulsy edge cases, but one can detect the most plain
use/require statements.

 Otherwise Module::Info-modules_used() can handle it.

modules_used needs to compile the module, so it cannot be used for CPANTS.

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


Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Thomas Klausner
Hi!

On Mon, Oct 13, 2003 at 07:46:02PM +0200, Tels wrote:

  * POD/Code ratio (what would be a good measurement?)
 
 No. Some _very_ complex code takes little documentation like:

Agreed.


 Probably something like:
 
   *.pm file has more than 1000 lines of code = bad
 
 :-)

CPANTS does/will count lines of code (and POD). While those numbers probably
won't go into a kwalitee rating (while it still might be an interesting
metric, so I'm not sure..), anybody can grab them and do their own weighting.
(I /only/ use modules with less than 1000 lines of code. Everything longer
must be crap...)

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


Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Thomas Klausner
Hi!

On Mon, Oct 13, 2003 at 05:53:15PM -, Rafael Garcia-Suarez wrote:

  * POD/Code ratio (what would be a good measurement?)
 
 use Pod::Coverage ?

As far as I know, Pod::Coverage compiles the module, which makes it not
suitable for CPANTS.

OTOH, it might be an interesting idea to allow CPANTS to compile code (and
thus use stuff like Devel::Cover) if not testing the whole of CPAN, but
linting one distribution.


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


Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Rafael Garcia-Suarez
Thomas Klausner wrote:
 there are currently 4 dists on CPAN that only include a configure script 
 (makepp-1.19, glist-0.9.17a10, swig1.1p5, shufflestat-0.0.3)
 
 179 do not include any of Makefile.PL, Build.PL or configure.
 
 Quite a lot come with two or three of those files.

Could we infer that a distribution that comes with several Makefile.PLs
may have an overcomplicated build process, maybe indicating a low
kwalitee ?

See for example :
http://search.cpan.org/~msergeant/XML-Parser-2.34/MANIFEST


Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Richard Clamp
On Wed, Oct 15, 2003 at 12:03:58PM +0200, Thomas Klausner wrote:
 On Mon, Oct 13, 2003 at 05:53:15PM -, Rafael Garcia-Suarez wrote:
  use Pod::Coverage ?
 
 As far as I know, Pod::Coverage compiles the module, which makes it not
 suitable for CPANTS.

Afraid so.  It's an eventual TODO-list item to steal/use the PPI
parser from Claes' CPANXR rather than compiling the code.  The
compilation is there to answer the question what methods does package
X define.

-- 
Richard Clamp [EMAIL PROTECTED]


Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Nick Ing-Simmons
Rafael Garcia-Suarez [EMAIL PROTECTED] writes:
Thomas Klausner wrote:
 there are currently 4 dists on CPAN that only include a configure script 
 (makepp-1.19, glist-0.9.17a10, swig1.1p5, shufflestat-0.0.3)
 
 179 do not include any of Makefile.PL, Build.PL or configure.
 
 Quite a lot come with two or three of those files.

Could we infer that a distribution that comes with several Makefile.PLs
may have an overcomplicated build process, maybe indicating a low
kwalitee ?

Should I infer that to get Tk's kwalitee up it should build as a 
one monolithic .so ?


See for example :
http://search.cpan.org/~msergeant/XML-Parser-2.34/MANIFEST



Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Rafael Garcia-Suarez
Nick Ing-Simmons [EMAIL PROTECTED] wrote:
 Could we infer that a distribution that comes with several Makefile.PLs
 may have an overcomplicated build process, maybe indicating a low
 kwalitee ?
 
 Should I infer that to get Tk's kwalitee up it should build as a 
 one monolithic .so ?

I don't know, I'm asking.
So it's necessary to have one separate Makefile.PL by .so built ?


Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Adrian Howard
On Wednesday, Oct 15, 2003, at 11:09 Europe/London, Rafael 
Garcia-Suarez wrote:

Thomas Klausner wrote:
there are currently 4 dists on CPAN that only include a configure 
script
(makepp-1.19, glist-0.9.17a10, swig1.1p5, shufflestat-0.0.3)

179 do not include any of Makefile.PL, Build.PL or configure.

Quite a lot come with two or three of those files.
Could we infer that a distribution that comes with several Makefile.PLs
may have an overcomplicated build process, maybe indicating a low
kwalitee ?
I don't think so.

For example I'm planning to release my modules with Build.PL and 
Makefile.PL in the future (because I like Module::Build, but want to 
continue to support people using CPAN).

(maybe more than one == higher kwalitee :-)

Adrian



Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Leon Brocard
Thomas Klausner sent the following bits through the ether:

 OTOH, it might be an interesting idea to allow CPANTS to compile code (and
 thus use stuff like Devel::Cover) if not testing the whole of CPAN, but
 linting one distribution.

Yes. We've been thinking about this. It either needs stealing buildd
from Debian, having a box we don't mind destroying every so often, or
having a VMware virtual machine we can undo easily. What we need is
more free time ;-)

Leon
-- 
Leon Brocard.http://www.astray.com/
scribot.http://www.scribot.com/

... Ethernet: A device for catching the Ether Bunny


Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Tim Bunce
On Wed, Oct 15, 2003 at 02:10:46PM +0200, Rafael Garcia-Suarez wrote:
 Nick Ing-Simmons [EMAIL PROTECTED] wrote:
  Could we infer that a distribution that comes with several Makefile.PLs
  may have an overcomplicated build process, maybe indicating a low
  kwalitee ?
  
  Should I infer that to get Tk's kwalitee up it should build as a 
  one monolithic .so ?
 
 I don't know, I'm asking.
 So it's necessary to have one separate Makefile.PL by .so built ?

I don't think you can or should try to infer anything useful from
the number of Makefile.PL's.

Tim.


Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Thomas Klausner
Hi!

On Wed, Oct 15, 2003 at 03:24:22PM +0100, Leon Brocard wrote:
 Thomas Klausner sent the following bits through the ether:
 
  OTOH, it might be an interesting idea to allow CPANTS to compile code (and
  thus use stuff like Devel::Cover) if not testing the whole of CPAN, but
  linting one distribution.
 
 Yes. We've been thinking about this. It either needs stealing buildd
 from Debian, having a box we don't mind destroying every so often, or

I see the biggest concern not so much with security / conflicting modules,
but with modules that interface to third party code and thus need it
installed (DBD::*, ImageMagick, GD, ...)

Or is some build tool able to automatically fetch needed non-perl libs?

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


Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Michael G Schwern
On Wed, Oct 15, 2003 at 12:09:05PM +0200, Rafael Garcia-Suarez wrote:
 Thomas Klausner wrote:
  there are currently 4 dists on CPAN that only include a configure script 
  (makepp-1.19, glist-0.9.17a10, swig1.1p5, shufflestat-0.0.3)
  
  179 do not include any of Makefile.PL, Build.PL or configure.
  
  Quite a lot come with two or three of those files.
 
 Could we infer that a distribution that comes with several Makefile.PLs
 may have an overcomplicated build process, maybe indicating a low
 kwalitee ?

No, there's nothing wrong with having sub-build directories.


-- 
Michael G Schwern[EMAIL PROTECTED]  http://www.pobox.com/~schwern/
Kindly do not attempt to cloud the issue with facts.


Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Michael G Schwern
On Wed, Oct 15, 2003 at 11:53:45AM +0200, Thomas Klausner wrote:
  configure?
 
 there are currently 4 dists on CPAN that only include a configure script 
 (makepp-1.19, glist-0.9.17a10, swig1.1p5, shufflestat-0.0.3)

configure's an alien idiom on CPAN.  If its found, I think it should be
evaluated on a case-by-case basis.

For example, looking at the above, makepp looks like its trying to emulate
autoconf (sensible, I guess, since he's shipping a make replacement) and its 
doing it the right way.  configure is a wrapper around a perl script that 
spits out a Makefile.  Unfortunately, he shipped the generated Makefile.
Still, it would have been better if configure was a wrapper around a
Build.PL or Makefile.PL.  Its been uploaded in the last few months.

glist, OTOH, is shipping a configure written in shell.  Sorta silly.  He also 
shipped generated configure files that shouldn't be shipped (like 
config.cache).  Since the dist is pure Perl, the guy is probably just 
comfortable with the configure/shell layout.  It was touched last year.

swig is a C program using autoconf, so that seems legit.  It hasn't been
touched since 1998.  There's newer versions of Swig out there.  It should
probably be taken down.

shufflestat is using what looks like a shell autoconf for a pure Perl
program.  Again, sorta silly.  Its also shipping CVS directories and
directories that would have been empty were it not for the empty CVS
directory in it. :)


This all suggests another check: stray files.  Emacs backup files.  CVS
directories.  Empty directories.  #...# backup files.  Makefiles shipped
with Makefile.PL, Build and _build shipped with Build.PL, blib/...


  test.pl is not a good thing.  It doesn't get parsed by make test.  It just
  runs and spits the output to the screen.  If a test fails, make test will
  still succeed.  Still, its better than nothing at all.
 
 So t/* should hint more kwalitee than only test.pl

Yes.


-- 
Michael G Schwern[EMAIL PROTECTED]  http://www.pobox.com/~schwern/
Death follows me like a wee followey thing.
-- Quakeman


Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Michael G Schwern
On Wed, Oct 15, 2003 at 10:34:19PM -, Rafael Garcia-Suarez wrote:
 Michael G Schwern wrote in perl.qa :
  This all suggests another check: stray files.  Emacs backup files.  CVS
  directories.  Empty directories.  #...# backup files.  Makefiles shipped
  with Makefile.PL, Build and _build shipped with Build.PL, blib/...
 
 In other words, the contents of the default MANIFEST.SKIP.

Hey, yeah!


-- 
Michael G Schwern[EMAIL PROTECTED]  http://www.pobox.com/~schwern/
WOOHOO!  I'm going to Disneyland!
http://www.goats.com/archive/980805.html


Re: Phalanx / CPANTS / Kwalitee

2003-10-15 Thread Robert Spier
 Yes. We've been thinking about this. It either needs stealing buildd
 from Debian, having a box we don't mind destroying every so often, or
 having a VMware virtual machine we can undo easily. What we need is
 more free time ;-)
 

User Mode Linux (limiting to Linux, of course) might be a lighter
weight way to do this.

-R


Re: Phalanx / CPANTS / Kwalitee

2003-10-14 Thread darren chamberlain
* Michael G Schwern schwern at pobox.com [2003-10-14 08:27]:
 On Mon, Oct 13, 2003 at 10:28:29AM +0200, Thomas Klausner wrote:
* README
 
 Personally, I find READMEs useless duplication.  Even more so now that
 search.cpan.org works so well.

I'll concede that they are useless duplication if someone simply does:

  perldoc -t Module.pm  README

(I actually do that, though.  Maybe I'll stop now...) However, I find it
*incredibly* aggravating when I see a README that says Module is a Perl
extension for blah blah blah.  A good, simple README is invaluable,
especially for those of us who use an offline CPAN mirror most of the
time (i.e., when I don't have net access to poke search.cpan.org).

(darren)

-- 
Quiet and courteous is often mistaken for kind and polite.
-- Andrew Langmead


pgp0.pgp
Description: PGP signature


Re: Phalanx / CPANTS / Kwalitee

2003-10-14 Thread Richard Clamp
On Tue, Oct 14, 2003 at 11:49:44AM -0400, Darren Chamberlain wrote:
 I'll concede that they are useless duplication if someone simply does:
 
   perldoc -t Module.pm  README

I find them to be useful duplication, but I truly hate doing that
myself, so this is what I use:
  http://unixbeard.net/svn/richardc/perl/makereadme

It pulls out the name, synopsis and author info from the main module,
mixes in the dependencies from META.yml, and then sprinkles on the
last few entries from Changes for good measure.

The only downside is when I cleanup my PAUSE directory I now have to
delete 3 things (dist, .meta and .readme) where before I only needed
to worry about the one.  That's only a downside because I'm as
insufficiently lazy to automate that.

-- 
Richard Clamp [EMAIL PROTECTED]


Re: Phalanx / CPANTS / Kwalitee

2003-10-14 Thread Randal L. Schwartz
 Richard == Richard Clamp [EMAIL PROTECTED] writes:

Richard It pulls out the name, synopsis and author info from the main module,
Richard mixes in the dependencies from META.yml, and then sprinkles on the
Richard last few entries from Changes for good measure.

I'm not even sure that this is really a README.  A README should be
about things I need to know before opening the package.  Remember, I
can look at README files from inside CPAN.pm and also as a separate
link on the CPAN mirrors.  There should be enough info there for me to
determine if this .tar.gz is worth unpacking.

Of course, if you have a well-written name/synopsis/author info,
I guess this is enough.  But now we've just shifted the problem.

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
[EMAIL PROTECTED] URL:http://www.stonehenge.com/merlyn/
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!


Re: Phalanx / CPANTS / Kwalitee

2003-10-13 Thread Michael G Schwern
On Mon, Oct 13, 2003 at 10:28:29AM +0200, Thomas Klausner wrote:
 * contains files:
   * Makefile.PL or Build.PL or configure

configure?

   * README

Personally, I find READMEs useless duplication.  Even more so now that
search.cpan.org works so well.

   * t/* or test.pl

test.pl is not a good thing.  It doesn't get parsed by make test.  It just
runs and spits the output to the screen.  If a test fails, make test will
still succeed.  Still, its better than nothing at all.

   * one *.pm in top-level OR lib/

Or Module/*.pm.  Seems a little dubious anyway, there are POD-only modules.


 Some ideas:
 * wheater PREREQ_PM matches used modules (hard!)

Nearly impossible since:

require Foo::Bar if $some_condition;

Otherwise Module::Info-modules_used() can handle it.


-- 
Michael G Schwern[EMAIL PROTECTED]  http://www.pobox.com/~schwern/
AY!  The ground beef, she is burning my groin!
http://sluggy.com/d/990105.html


Re: Phalanx / CPANTS / Kwalitee

2003-10-13 Thread Tels
-BEGIN PGP SIGNED MESSAGE-

Moin,

On Monday 13 October 2003 11:57, Michael G Schwern wrote:
 On Mon, Oct 13, 2003 at 10:28:29AM +0200, Thomas Klausner wrote:
  * contains files:
* Makefile.PL or Build.PL or configure

 configure?

* README

 Personally, I find READMEs useless duplication.  Even more so now that
 search.cpan.org works so well.

You have never maintained a big project, were the *brief* introduction in 
README is 8 pages, accompanied by an INSTALL file with another 15, not to 
speak of the $three-digit-figure pages of userland documenatation :) In that 
case a README is a lifesaver, because it is, if ever, the only thing someone 
reads :)

(That was a joke about you personally. :-)

I find that a short intro in the README (if it isn't immidiately replicated in 
the .pod, where it does _not_ belong if there are more than on .pm files) is 
very usefull. Unfortunately, not every project has a README, or a useless one 
(like just a boilerplate or something like this). The README should explain 
the goals and target of the package, contact points etc etc..

I agree that merely having one doesn't say much, but if it is lacking, that  
certainly shows the authors attitude...


* t/* or test.pl

 test.pl is not a good thing.  It doesn't get parsed by make test.  It
 just runs and spits the output to the screen.  If a test fails, make test
 will still succeed.  Still, its better than nothing at all.

If there are t/* _and_ test.pl this probably should be marked as bad. 
test.pl is usually old cruft still lingering around :)

* one *.pm in top-level OR lib/

 Or Module/*.pm.  Seems a little dubious anyway, there are POD-only modules.

And what about doc/Somedoc.pod files?

Just my 0.02Eurocent,

Tels
- -- 
 Signed on Mon Oct 13 18:51:43 2003 with key 0x93B84C15.
 Visit my photo gallery at http://bloodgate.com/photos/
 PGP key on http://bloodgate.com/tels.asc or per email.

 Now, admittedly, it's critical software. This is the 'let's go kill
 people' software. -- Mark A. Welsh III

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)
Comment: When cryptography is outlawed, bayl bhgynjf jvyy unir cevinpl.

iQEVAwUBP4rYKHcLPEOTuEwVAQG6mwf+Ke2wRst2S3FEUtb+x0SgTsbNtuJGc3e8
71nycuArl2eXhRYyyk7yZm73AxPWdE6cyOcSg94Y0MtD2t58OMDiRUksomLRtMBC
TD441s1Wmx3HrxYqTGLHLeuDmJjVbsCnFJkr8Vfc/cPbp0u+yDFo5ZtaF1QhIWXQ
djAMTWLjgaYk9OfxswiTj1YohQIGzzqTaHlQalvU4GyHYz0enAT71YGyHF/ZEYz6
d5BsvdMFLIobx/zvyWYKMkdd5hv45oL621L2S+I0tKevZzbWe9MNmGB1MvWFb7hy
WlH/7wVT7qq3QHlo4O8fzoVMU1zFfGBoff7uLeL8rh7vEPuLs3L2ow==
=uqva
-END PGP SIGNATURE-



Re: Phalanx / CPANTS / Kwalitee

2003-10-13 Thread Rafael Garcia-Suarez
Thomas Klausner wrote in perl.qa :
 
 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?)

use Pod::Coverage ?

 * testers results
 * number of releases


Re: Phalanx / CPANTS / Kwalitee

2003-10-13 Thread Michael G Schwern
On Mon, Oct 13, 2003 at 06:51:43PM +0200, Tels wrote:
 * t/* or test.pl
 
  test.pl is not a good thing.  It doesn't get parsed by make test.  It
  just runs and spits the output to the screen.  If a test fails, make test
  will still succeed.  Still, its better than nothing at all.
 
 If there are t/* _and_ test.pl this probably should be marked as bad. 
 test.pl is usually old cruft still lingering around :)

No, t/* and test.pl is ok.  test.pl is basically just a program that gets
run at make test time.  DBI and the DBD::* modules use test.pl to display
benchmarking information.


-- 
Michael G Schwern[EMAIL PROTECTED]  http://www.pobox.com/~schwern/
I know you get this a lot, but what's an unholy fairy like you doing in a
mosque like this?


Re: Phalanx / CPANTS / Kwalitee

2003-10-13 Thread Tels
-BEGIN PGP SIGNED MESSAGE-

Moin,

On Monday 13 October 2003 10:28, Thomas Klausner wrote:
 Hi!
 * POD/Code ratio (what would be a good measurement?)

No. Some _very_ complex code takes little documentation like:

=head2 sub delete_first_n_entries($N)

Deletes the first N entries from the list.

That pretty much sums it up and any more documentation probably only confuses.
However, the method in question could easily be 10 pages long. (Look at the
code in Math::BigInt::Calc.pm, for instance. Basically, _mul() multiplies two
numbers - and it is _huge_.

There are other issues, like the doc in the pod is usually for the code and
the userland doc. However, in certain cases you also have userland doc (like:
how to use the thing) and code doc (what does sub XYZ do?) seperated.
Should these be rn together? But the an included XYZ guid for dummies would
skew the numbers (It suggest much doc, but the code maybe not documented at
all) etc.

I donät think sensible results can be done by comparing pod to code size. It
is similiar silly like counting line numbers. (does the fact that I
optimized 2 pages code away mean I wrote -128 lines of code this week? :)

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

Unfortunately, it is had for me to come up with good, machine-implementable
rules..

Probably something like:

*.pm file has more than 1000 lines of code = bad

:-)

Best wishes,

Tels

- --
 Signed on Mon Oct 13 19:40:43 2003 with key 0x93B84C15.
 Visit my photo gallery at http://bloodgate.com/photos/
 PGP key on http://bloodgate.com/tels.asc or per email.

 Call me Justin, Justin Case.

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)
Comment: When cryptography is outlawed, bayl bhgynjf jvyy unir cevinpl.

iQEVAwUBP4rk2ncLPEOTuEwVAQE5mwf9EqbcU2Fb1FD57uv2u8mwruF4CytE7tKl
dkRePVBOvuOFOQ8EEu2LO0uTjPDlbA9+Ko5EFQtoN+1HWAKqsR0MlfIcZx1TeXiw
67K6xxwPI3Z5O6qnZKGrqkDymxg1NlO9HfYYI9nPah2WXgixXk48ynytEdsa0QDY
vunBMwbILON486Nz9ieKUAvk39fPezQq9Dsicl0IKj03f6F4Tvc7cbo4yToeiY9s
YuZevJPG5bSVl2pBQoGoRvA5HaSdW9twvy2s6BLekx7hD3CpdSYX5+9jK5CG3eov
HWqMkoEHLwk1fhAyQFbRKo3VdJCKjPvM3QT0waHuLnalX3RKQmwdjA==
=lmnE
-END PGP SIGNATURE-