Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Namespace Pollution

by BUU (Prior)
on May 05, 2003 at 22:33 UTC ( [id://255764]=note: print w/replies, xml ) Need Help??


in reply to Namespace Pollution

In short, I never (well, except for a few accidents) import anything into my namespace. I always simply do 'require myModule;'. If it's an OO module, well I neither lose nor gain. If it's a non OO module, then I have absolutely no namespace pollution while still being able to use all the features of the module. In specific I call every method as fully qualified, MyModule::foo(); as I feel this allows me to keep track of where the various functions I'm using are.

Replies are listed 'Best First'.
Re: Re: Namespace Pollution
by Jenda (Abbot) on May 06, 2003 at 12:34 UTC

    1. If the module in question inherits its import() subroutine from the Exporter.pm you are right you do not lose anything. If on the other hand the module has its own import(), you may get a nasty surprise. The module may expect it's import() to be called.

    2. While MyModule::foo(); doesn't sound too bad, but imagine you'd have to prepend each and every constant with the package name:

    my $Array = Win32::OLE::Variant->new(VT_ARRAY|VT_R8, [1,2], 2); vs. my $Array = Win32::OLE::Variant->new(Win32::OLE::Variant::VT_ARRAY|Win +32::OLE::Variant::VT_R8, [1,2], 2);
    I think you are exagerating. Also ... keep in mind that the more text you write, the more likely it is that you make a mistake. It's more likely to mistype Win32::FileOp::Delete(... than Delete(....

    Jenda
    Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
       -- Rick Osborne

    Edit by castaway: Closed small tag in signature

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2024-04-19 03:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found