i'd like to see something like support in CF for a javascript style with()
On Mon, Jan 5, 2009 at 1:11 AM, Marc Esher <[email protected]> wrote: > > i've adopted this style within the last year and have settled on it as > a standard. I had the same problem that Zac states, because I tried > using method chaining to reduce number of lines -- but I had it within > the context of Hibernate and criteria queries, so I started doing > this: > > result = session.createCriteria(My.class) > .add(....) > .add(....) > .add(....) > .list(); > > > And that's what I do for CF, too. > > It doesn't reduce the number of lines, but it looks less verbose in > context, and that's my goal with chaining. I'd rather see: > > <cfset foo.setThis() > .setThat() > .setThisHereThingie()> > > than > > <cfset foo.setThis()> > <cfset foo.setThat()> > <cfset foo.setThisHereThingie()> > > for what it's worth, I think method chaining's goal is clarity and > compactness, not so much reduction in lines. > > best, > > marc > > On Sun, Jan 4, 2009 at 6:20 AM, Alan Livie <[email protected]> wrote: >> Thanks Zac. That's one reason I hadn't thought of. >> >> ________________________________ >> From: Zac Spitzer <[email protected]> >> To: [email protected] >> Sent: Sunday, January 4, 2009 10:12:35 AM >> Subject: [CFCDEV] Re: Method chaining >> >> >> i have seen sometimes with CF is that exceptions with this style ( or >> nesting ) throw >> somewhat confusing error messages, i found that CF is easier to debug with >> the >> classic line at a time >> >> z >> >> On Sun, Jan 4, 2009 at 8:50 PM, Alan Livie <[email protected]> wrote: >>> >>> I have just read some code in a Hibernate book that uses a lot of >>> method chaining ie setFoo(1).setBar('myvar').setThis(x).setThat(y) etc >>> >>> I remember some old Open University days doing Smalltalk when method >>> chaining was common as there was no VOID return type on methods so >>> setter methods tended to return THIS.I have also seen this a lot >>> recently doing jQuery work ie $("a").addClass("test").show().html >>> ("foo"); The methods return the jQuery object so chaining is possible. >>> >>> In CF (at least the code I've read and written) we don't tend to do >>> this. >>> >>> Is this for readability reasons or something else I'm not aware of? >>> >>> I think setter methods (and maybe other methods that return VOID) >>> returning THIS is a sensible idea so we can chain or not chain as we >>> see fit. >>> >>> >>> > >>> >> >> >> >> -- >> Zac Spitzer - >> http://zacster.blogspot.com >> +61 405 847 168 >> >> >> > >> > > > > -- Zac Spitzer - http://zacster.blogspot.com +61 405 847 168 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CFCDev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cfcdev?hl=en -~----------~----~----~----~------~----~------~--~---
