Keep It Simple, Stupid | |
PerlMonks |
Re: Should I use Fields, InsideOuts, or Properties?by adrianh (Chancellor) |
on Jul 06, 2005 at 12:42 UTC ( [id://472777]=note: print w/replies, xml ) | Need Help?? |
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.
In Section
Seekers of Perl Wisdom
|
|