Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: José's Guide for creating Perl modules

by eyepopslikeamosquito (Archbishop)
on Feb 17, 2005 at 07:38 UTC ( [id://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

Replies are listed 'Best First'.
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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://431855]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (2)
As of 2024-04-26 00:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found