NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
cultural solutions (Score:1)
There are definite benefits, like improved encapsulation, but I don't need a shotgun -- especially one that has lots of overhead costs. In Perl, avoiding tight coupling can be reduced to a cultural problem, in my experience.
Sometimes, I use a pattern like this:
$object->{__PACKAGE__}{attr} = $value;
Now the object's guts are well divided into areas of authority. If you, Subclass::Happy start screwing aro
rjbs
Re: (Score:1)
I suppose Ruby-community-style monkeypatching is OK with you too?
Re: (Score:1)
How is that an endorsement of anything even remotely like monkeypatching?
rjbs
Re:cultural solutions (Score:2)
Reply to This
Parent
Re: (Score:1)
In other words: change the behavior of shared code by messing about with its guts, rather than by producing a subclass that you use. It's fast and easy (so a monkey can do it), acts like you've patched the source, and affects all the other code you've loaded and probably not reviewed for how
rjbs
Re: (Score:2)
Re: (Score:1)
I agree it can be useful in limited and highly constrained circumstances. It has its place, much like GOTO, which I am fond of defending against dogmatists despite the fact that I practically never use it.
The most common form among Ruby folk is adding methods to classes you don’t own. That does indeed seem to be SOP. Eg. Rake (the build system written in Ruby) stuffs a kitchen sink of filesystem-related methods into
Object. Changing existing behaviour is less common, but they do that too; cf. the ChRe: (Score:1)
Oops.
rjbs