Wednesday, April 12, 2006

Mobile Weapon Developer's Diary #13

Lucky number 13, perhaps it is fated that this post will not sound so pleasant.

I was going to integrate the new team selection (a.k.a. Room Module) to with our main controller just now when I realised...



...that my module had to be intergrated inside frame 63 of the "skip_menu" module. The controller with the code to be intergrated had a single huge method also controling some other function. The scope of the method and variables were the entire module even though it was used in just one frame. And last but not least, the controller was invisible so we couldn't find it at first.

I was like "#^@!#^!@^#*$#@$*"!!!

The current state of our architecture isn't spagetti, it's ravioli. Open up a component and get a surprise! You never know what other components are hiding inside each other!

We've been putting this off for too long. Tomorrow it's time to clean house.

Abstraction, Abstraction, Abstraction - no more huge methods, methods do what they are supposed to do and nothing else (especially no more putting functional code in buttons!). Methods must have good descriptive names, same for modules. Key keyframes (the ones you want to be able to jump to) should be labelled.

We also want modules and methods to be black boxes. Something specific goes in, something specific comes out. Avoid accessing the variables or trying to control a module without going through it's interface! I know it can't be done in Flash but don't forget your programming lessons from Java.

I don't want to remove a module and suddenly 3 other modules don't work as a result. That's just not right.

And like I've said ad-Infinitum.... Comments!!!

No comments: