[Catalyst] Re: Private Chained Actions?

Aristotle Pagaltzis pagaltzis at gmx.de
Sun Jun 22 17:56:04 BST 2008

* Jonathan Rockway <jon at jrock.us> [2008-06-22 15:35]:
> * On Fri, Jun 20 2008, Aristotle Pagaltzis wrote:
>> That’s even uglier. Imagine there isn’t just `hello` but half
>> a dozen other methods all sharing the same setup. So the setup
>> code is one or two screens down the source file. Now when you
>> look at `hello` you have absolutely no indication whatsoever
>> that there might be other code running before it.
> I guess. But this is Perl, there's never any indication of
> anything. There's no indication that my function is receiving
> arguments of a particular type.

Except, y’know, the code in the method body that’s *right there*.

> There's no indication that my function throws exceptions.

I hope you’re not using exceptions for standard control flow.

> There's no indication that "use Foo" has side effects.

Yes, and that causes no end of intermittent trouble. Ovid had
some recent posts on use.perl about getting bitten hard.

> Even in Catalyst, there is a ton of implicit behavior. There is
> no indication that begin/end/auto applies to my action (at
> least until the action runs).

Except, method modifiers are explicit, not implicit – just
defined at a distance, the way you wrote it. In contrast, if you
use Catalyst you know that there may always be begin/end/auto

I mean, if you have to write out your intent to modify a method
anyway, why not also put that next to the code that will actually
be affected?

I recommend Schwern’s recent “Skimmable Code” talk.

Note well, I’m not arguing against method modifiers in general.

Aristotle Pagaltzis // <http://plasmasturm.org/>

More information about the Catalyst mailing list