Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Mutator chaining considered harmful

by dragonchild (Archbishop)
on Dec 29, 2004 at 14:24 UTC ( [id://417988]=note: print w/replies, xml ) Need Help??


in reply to Mutator chaining considered harmful

In reading a completely unrelated article, I found this snippet:

Interaction-based testers do talk more about avoiding 'train wrecks' - method chains of style of getThis().getThat().getTheOther(). Avoiding method chains is also known as following the Law of Demeter. While method chains are a smell, the opposite problem of middle men objects bloated with forwarding methods is also a smell. (I've always felt I'd be more comfortable with the Law of Demeter if it were called the Suggestion of Demeter.)1

I found it interesting that Fowler links method chaining to users of the state-based testing style. The fact that interaction-based testers view chaining to be a 'train wreck' was also telling.

No real point to this ... just found it interesting. :-)

  1. From Mocks Aren't Stubs by Martin Fowler

Being right, does not endow the right to be rude; politeness costs nothing.
Being unknowing, is not the same as being stupid.
Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.

  • Comment on Re: Mutator chaining considered harmful

Replies are listed 'Best First'.
Re^2: Mutator chaining considered harmful
by Aristotle (Chancellor) on Dec 29, 2004 at 19:50 UTC

    Of course those are aggregate object calling chains, which aren't the same as the mutator chains I talk about.

    But yeah, there's a lot of different bluffs and cliffs to steer around in the area.

    Makeshifts last the longest.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2024-04-19 02:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found