> > Yes, that's all well and good. However, my original point, 
> > which I didn't make clear enough, is that when I write a 
> > program, that program should explicitly accept specific 
> > inputs from specific locations. This isn't a documentation 
> > issue, it's a program design issue.
> 
> Specific inputs? yes. But specific locations? What's not 
> appealing about being able to refer to the same URL variables 
> you're used to, then at some point down the road, also being 
> able to refer to that same variable coming from a form or even 
> a custom tag without having to recode anything? If you're 
> worried about looping through your form structure, you can still
> refer to it using the form scope - it's just also available 
> in an attributes scope for further flexibility. I'm not trying 
> to convert anyone or anything, it's all a matter of opinion 
> I guess, but I would be interested in hearing of an example 
> where the attributes scope gets in the way or ruins the design.

Unless you're practicing yoga, uninhibited flexibility is not necessarily a
good thing. The fact is, Form.myvar is not the same variable as URL.myvar -
part of what defines a variable is its namespace, or scope. If you want to
write a program which can accept either, that's fine - but you should
probably do that explicitly, rather than simply copying those variables into
a third scope.

What would happen, for example, if your program received a value for
Form.myvar, and a different value for URL.myvar? This may be unlikely, but
good program design is supposed to cover the unlikely events as well as the
likely ones.

My complaint with this technique is the same, essentially, as my complaint
with using the Request scope to share data between custom tags and their
calling pages. It breaks the model of defined inputs and outputs.

The design of a program should be limiting where appropriate, and
personally, I think that in most cases, clearly defining and limiting the
expected inputs of a program is an appropriate limitation for that program.

Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
voice: (202) 797-5496
fax: (202) 797-5444

______________________________________________________________________
Dedicated Windows 2000 Server
  PIII 800 / 256 MB RAM / 40 GB HD / 20 GB MO/XFER
  Instant Activation � $99/Month � Free Setup
  http://www.pennyhost.com/redirect.cfm?adcode=coldfusiona
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to