Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Josť's Guide for creating Perl modules

by eyepopslikeamosquito (Canon)
on Feb 17, 2005 at 07:38 UTC ( #431855=note: print w/ replies, xml ) Need Help??


in reply to Josť's Guide for creating Perl modules

Very nice. This tutorial covers some of the things I plan on covering when I finally get around to writing a tutorial based on Writing Solid CPAN Modules. Update: I just noticed How to make a CPAN Module Distribution and Simple Module Tutorial both of which look excellent.

In addition to strict and warnings, don't forget taint mode testing. Re coding style, Abigail's My coding guidelines is worth a read.

It's vital to choose a good interface first time. Once your module is released into the wild it may become practically impossible to change its interface; anything else can be fixed later. Two good nodes I've noticed re creating good interfaces are Ingy's "Swiss Army Light Sabre" - or, "how do you design your APIs?" and Often Overlooked OO Programming Guidelines. Any other good ones, please let me know. Update: I couldn't find any more, so I wrote one: On Interfaces and APIs.

Update: I expect TheDamian's upcoming book "Perl Best Practices" will have some sound advice on this subject.


Comment on Re: Josť's Guide for creating Perl modules
Re^2: Josť's Guide for creating Perl modules
by ian (Beadle) on Dec 06, 2007 at 08:51 UTC
    eyepopslikeamosquito said:
    Update: I expect TheDamian's upcoming book "Perl Best Practices" will have some sound advice on this subject.
    Indeed, TheDamian's book, or Perl Best Practices (PBP) has a whole chapter on modules (ch17, pg. 397). The first section in that chapter is on interface design.

    Update: There's an article that covers some of this by TheDamian called Ten Essential Development Practices.

    -- Ian Tegebo

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://431855]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (13)
As of 2014-09-18 18:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (120 votes), past polls