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

Re: Should I use Fields, InsideOuts, or Properties?

by adrianh (Chancellor)
on Jul 06, 2005 at 12:42 UTC ( #472777=note: print w/replies, xml ) Need Help??

in reply to Should I use Fields, InsideOuts, or Properties?

Instead of use::fields, Adrianh and Abigail advocate inside out objects: Class::InsideOut - yet another riff on inside out objects.

You might want to look at Abigail's Lexical::Attributes which wraps up inside-out objects in a nice Perl 6-ish source filter.

This is because, says adrianh on the damnit thread, with fields you have problems when you don't control the base class -- though I don't understand exactly what adrianh meant by that

Hopefully this makes it clear :-)

And oh, another way to do it, apparently, is Attribute::Property, as juerd advocates on the use fields damnit conversation.

Any accessor generating system, like A::P or Class::MakeMethods will help if you have the discipline to only access the object by method.

You'll only get runtime errors on typos though, not compile-time (as you do with inside-out objects).

But if anybody has anything to add, or guidance on what I should do to escape the $foot->{shooting} typos, please chime in.

Get better at typing? :-)

Another approach would be to try a development technique that makes typos like this more immediately obvious. I find that doing TDD means that mistakes like this show up immediately in a failing test, making the pain levels drop to about zero for this kind of "invisible" mistake.

  • Comment on Re: Should I use Fields, InsideOuts, or Properties?

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (5)
As of 2020-10-20 14:58 GMT
Find Nodes?
    Voting Booth?
    My favourite web site is:

    Results (210 votes). Check out past polls.