Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

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:

Amen.

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.


Comment on Re: MOPT-01 - assumptions and spaces

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (10)
As of 2014-12-18 11:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (50 votes), past polls