I've done quite a bit of Flash and Flex programming in AS2 and AS3 (well, Flex only in AS3 :). <self-definition>I've gotten these platforms to do exactly what I want. I've built Flash components and created an MVC framework in Flex, etc.</self-definition>
If you hand me a Flex app that I've never seen and say, "make these changes," I know where to start understanding the application: from the Application tag downwards. It's probably got some interaction with a server somewhere, with some callbacks, etc. Or some interaction with a framework.
If you hand me a Java app I can do the same: go from the front-end to the back end, or maybe go backwards through the method calls.
But if you hand me a Flash app I'm totally lost for the first hour while I try to guess why it works the way it does... and if it doesn't compile, I think I would be lost forever. This has to do with the MCs embedded in MCs (some of them hidden! great!), and not so much to do with the code. Then the code is spread out in all different frames, scenes, etc., so as to when what fires only the original developer knows.
When I do pure Flash I do everything in Components and use a very flat structure, but that´s a different story. My question is for the Flash presentations I get:
How do you start understanding an existing Flash presentation when you get it? What do you look for first, etc.? Do you have any tips on making sense of a Flash presentation you're seeing for the first time?