Re: Phalanx / CPANTS / Kwalitee
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-:+-$"-g&&print$_.$/}
Re: Phalanx / CPANTS / Kwalitee
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
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
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-:+-$"-g&&print$_.$/}
Re: Phalanx / CPANTS / Kwalitee
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
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.
Re: Phalanx / CPANTS / Kwalitee
> 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
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
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.
Re: Phalanx / CPANTS / Kwalitee
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
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
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-:+-$"-g&&print$_.$/}
Re: Phalanx / CPANTS / Kwalitee
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
Rafael Garcia-Suarez <[EMAIL PROTECTED]> writes: >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 ? As it stands it needs even more rule-overriding hackery than Tk already does to build multiple .so/.dll per/Makefile. This by the way is the main reason I haven't yet done a Build.PL for Tk - I haven't figured out how to "build" sub-modules.
Re: Phalanx / CPANTS / Kwalitee
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
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
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
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
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
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
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-:+-$"-g&&print$_.$/}
Re: Phalanx / CPANTS / Kwalitee
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-:+-$"-g&&print$_.$/}
Re: Phalanx / CPANTS / Kwalitee
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-:+-$"-g&&print$_.$/}
What should be in a README anyway (was Re: Phalanx / CPANTS / Kwalitee)
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
> "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]> 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
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
* Michael G Schwern [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
-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-
Re: Phalanx / CPANTS / Kwalitee
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
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
-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
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