Erik,
Now that I have got my project's tests passing again, I thought I
would voice some of my opinions in a more professional manner after
the storm.
- 'common' Although I agree with you making things common, I don't
agree with having sub packages, it seems redundant and confusing, if a
sub package warrants in common, it should have a real package in
compiler.
- On the note of this change, if we could have talked about this first
you would have heard me first say that maybe we should move
'compiler.as' and 'compiler.js' into a 'compiler.codegen'
Existing
org.apache.flex.compiler.as.codegen
org.apache.flex.compiler.js.codegen
To;
org.apache.flex.compiler.codegen.as
org.apache.flex.compiler.codegen.js
Which then would have allowed;
org.apache.flex.compiler.codegen.IEmitter
org.apache.flex.compiler.codegen.IDocEmitter
org.apache.flex.compiler.codegen.IEmitterTokens
The toplevel codegen becomes the 'common' container.
The same change could be applied to 'driver'. This was a mistake on my
part when I was originally laying out the first impl of the packages.
- The above I will argue for the 'driver' package as well.
- Tests, I don't understand why addLibraries() and such in ITestBase
are public API. They will never be called outside of the test. In java
you would make them abstract and the TestBase class abstract and that
creates the subclass contract implicitly.
- Also, passing the List as a parameter of those 3 methods
encapsulates the actual field, then if you are just overridding them
in a sub class, you are not trying to figure out what field goes
where, its just a template method that you add entries to the list
passed.
To me this is enough merrit for at least a discussion about a veto.
I hope you can think about these issues, maybe we can change them down
the road. Right now there are no reverting necessary.
Mike
--
Michael Schmalle - Teoti Graphix, LLC
http://www.teotigraphix.com
http://blog.teotigraphix.com