Mark Stosberg writes: > On Mon, 29 Sep 2008 00:18:02 +0100 > Richard Jones <[EMAIL PROTECTED]> wrote: > > > Mark Stosberg wrote: > > > As Rhesa proposed, he has followed through and released a plugin to add > > > the > > > Devel::Declare / Method::Signatures magic to CGI::Application: > > > > > > http://search.cpan.org/perldoc?CGI::Application::Plugin::RunmodeDeclare > > > > Looks like an interesting alternative to CAP::AutoRunmode. One minor > > irritant is having to put 'runmode foo ($c:)' everywhere (only if using > > $c instead of $self of course). Might be useful to be able to declare > > use CGI::Application::Plugin::RunmodeDeclare(invocant => '$c'), or just > > use CAP::RunmodeDeclare qw($c). > > I agree with this sentiment. > > This brings back to life the discussion we were having on IRC the other > day about "$self" vs "$c". > > I like "$c" because it's shorter and since it's used all over the code > base, it's clear enough what it is. And, the first element to 'shift' > off of @_ in a method must be the invocant. > > Michael Peters and Richardo argued in favor of "$self" citing the > "Principle of Least Surprise" and the expectation that this non-standard > change would generate more harm in confusion than benefits in > keystrokes. > > Although I still prefer "$c" in my own code, I thought they made good > points, so I switched back from "$c" to "$self" in the docs and code of > the latest CGI::App dev release. > > But I'm interested in more opinions on the issue. Richard, do you > particularlly prefer "$c", or were you mostly following along the docs > that were updated to switch from "$self" to "$c" ?
I'll toss in one vote for $self being much less Surprising, both to me and to folks with whom I'm sharing code. g. ##### CGI::Application community mailing list ################ ## ## ## To unsubscribe, or change your message delivery options, ## ## visit: http://www.erlbaum.net/mailman/listinfo/cgiapp ## ## ## ## Web archive: http://www.erlbaum.net/pipermail/cgiapp/ ## ## Wiki: http://cgiapp.erlbaum.net/ ## ## ## ################################################################
