Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re: MOPT-01 - assumptions and spaces

by adrianh (Chancellor)
on Dec 10, 2002 at 06:33 UTC ( #218742=note: print w/replies, xml ) Need Help??

in reply to MOPT-01 - assumptions and spaces

++. Nice intro.

The first step in thinking clearly-like-a-programmer is to know what kind of space you're working with at any given time. The second step is to use tools that are appropriate to the space in question. Programmers who haven't figured out what kind of space they're working with can waste endless time one of two ways:


It can help when writing interfaces to think about the information spaces involved and make sure that you support the operations necessary for that space, and only those operations.

If your object has some internal state that forms a nominal information space (e.g. readable and/or writable), you know you need to provide an interface that allows existence/equivalence tests for that state (e.g. $foo->is_readable, $foo->is_writable).

If you don't supply these tests explicitly (e.g. you return a bitmask) then you're offloading responsibities, and exposing implementation, to the user of your class. Often this will be a bad decision since the user can make mistakes, and you can change your implementation.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://218742]
and all is calm...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (7)
As of 2018-06-22 07:54 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (122 votes). Check out past polls.