On Feb 6, 2008, at 2:06 AM, Tiemo Hollmann TB wrote:
Hi Mark,
Interesting to read that totally opposite approaches are both
favoured.
A lot of projects that are sent to me are unnecessarily complex
because people try to be "smart", putting handlers in weird places.
Btw. I go the same way as Sadhu and feel comfortable with my way,
especially
in maintenance cases, where I don't have to think about where a
handler
could be placed. In smaller projects my "weird place" for almost all
handlers is the stack script. I do actually have only one single
mouseup
handler in stack script, with cases of targets. So I uncoupled
logic from
design, what has advantages and disadvantages. I don't know, if and
how my
approach would work in bigger projects, but up to now, its good for
me.
I have two objections to placing all handlers high in the message
hierarchy.
1. It destroys the modularity/object-oriented-ish-ness of Revolution
stacks. If I create a particularly brilliant object (or at least a
complicated object that is "good enough") I often want to re-use it
in other projects. If I've separated the scripting from the objects
it becomes much more difficult.
2. As a project grows in complexity, a stack script that contained
all handlers in the stack could easily swell to several thousand
lines. In this case it actually becomes *harder* to maintain, as you
must scroll or search through a huge script to find the handler
you're looking for. It even becomes difficult to find a handler in
the handler list of the script editor as the number of handlers
multiplies. I once inherited an extremely complex project in which
the original programmer had used the approach of placing all
scripting in the stack script. While the handlers were well-written
and well-documented, and the stack worked pretty well, I had a devil
of a time figuring out which handlers did what, and to which objects
they related. After several months I *started* to get the hang of it,
but I lost a lot of time figuring it out.
I like Jerry Daniels' axiom: Put handlers as high as they need to be
in the hierarchy, but no higher.
My $.02.
Devin
Devin Asay
Humanities Technology and Research Support Center
Brigham Young University
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution