Home Accessibility Courses Diary The Mouth Facebook Resources Site Map About Us Contact
Judging the quality of contributed Perl code

So you're going to download a module from Perl's CPAN. Good - you've learnt the first rule which is to re-use code that someone else has written, and NOT write your own. But then you have another conundrum - which of the dozens of modules that look as if they should be suitable should you download - which are reliable and of good quality, and which are, frankly, naff?

You can't measure "Quality". Can't put an objective number on it to rank modules. But you CAN monitor features that you'll find in well written and well maintained modules and measure those, and such a measure will be an INDICATION that a module is likely to be to a high standard. That's been christened Kwalitee - sounds like quality, but not quite the same! You'll be interested in CPANTS - The Comprehensive Perl Archive Network Testing Service.

The CPANTS service at http://cpants.perl.org is a testing service which uses automatic criteria to rank CPAN modules. The presence (or otherwise) or readme files, manifests, configuration files, etc is one of the criteria used. Then the presence of tests, a versioning system, POD documentation (for ALL the methods, please!) and POD that compile properly too is measures. A module is scored better if it has "use strict;", and it's also scored higher if it's a prerequisite of someone else's module.

If you're a CPAN contributor, you can of course write your code to get a high Kwalitee rating without it being high quality - that's rather like cheating the rankings for a search engine - and you can even use the Test::Kwalitee module that lets you check out your ranking before you submit. I probably shouldn't even tell you about the guy who has a CPAN module who will, at a price, declare your module as something that his depends on ...
(written 2007-06-06, updated 2007-06-07)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
P219 - Perl - Libraries and Resources
  [3377] What do I mean when I add things in Perl? - (2011-08-02)
  [3101] The week before Christmas - (2010-12-23)
  [3009] Expect in Perl - a short explanation and a practical example - (2010-10-22)
  [2931] Syncronise - software, trains, and buses. Please! - (2010-08-22)
  [2427] Operator overloading - redefining addition and other Perl tricks - (2009-09-27)
  [2234] Loading external code into Perl from a nonstandard directory - (2009-06-12)
  [2229] Do not re-invent the wheel - use a Perl module - (2009-06-11)
  [1865] Debugging and Data::Dumper in Perl - (2008-11-02)
  [1863] About dieing and exiting in Perl - (2008-11-01)
  [1444] Using English can slow you right down! - (2007-11-25)
  [1391] Ordnance Survey Grid Reference to Latitude / Longitude - (2007-10-14)
  [1235] Outputting numbers as words - MySQL with Perl or PHP - (2007-06-17)
  [760] Self help in Perl - (2006-06-14)
  [737] Coloured text in a terminal from Perl - (2006-05-29)
  [712] Why reinvent the wheel - (2006-05-06)
  [358] Use standard Perl modules - (2005-06-25)
  [357] Where do Perl modules load from - (2005-06-24)
  [112] Avoid the wheel being re-invented by using Perl modules - (2004-11-08)
  [86] Talk review - Idiomatic Perl, David Cross - (2004-10-12)


Back to
Sunday afternoon
Previous and next
or
Horse's mouth home
Forward to
for loop - how it works (Perl, PHP, Java, C, etc)
Some other Articles
Asda opening large new store in Melksham
Perl, the substitute operator s
Bathtubs and pecking birds
for loop - how it works (Perl, PHP, Java, C, etc)
Judging the quality of contributed Perl code
Sunday afternoon
What are factory and singleton classes?
Five of the best - pictures from London
An update on Perl - where is it going?
New Serieses for the summer on TV
4255 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2014: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/1219_Jud ... -code.html • PAGE BUILT: Sun Mar 30 15:20:58 2014 • BUILD SYSTEM: WomanWithCat