|
From: Luke B. <lb...@pa...> - 2007-04-15 18:29:29
|
Hey Robert, That definitely makes sense to me. I still prefer the sibling paths for two reasons: a) Import statements / class scope: It is more applicable in AS3 than AS2, but classes are scoped to their packages and classes found in the same package don't need imports. This makes refactoring just a tiny bit less expensive when it involves renaming or moving classes around. Especially since classes that reference one another tend to be found in the same packages. I believe that in Java/.NET, there are some values that can only be accesses by classes in the same package and this is the argument that appears to have led most JUnit users to this approach since granting this access to test cases made testing much easier. The decision for those other communities leads into my second justification... c) Consistency: In informal, ad-hoc reading, it "seemed" like more people did it that way. Of course I concede that this is debatable since I didn't have actual scientific findings or anything. It just seemed like more tutorials, books and discussions revolved around this approach. With that said, my feeling is that sometimes, "It looks better to me", is a perfectly valid argument and need only be weighed against how much time it may cost. In the case of AsUnit, your approach is incompatible with the conventions supported in any of our provided tools. If none of these tools are particularly appealing for you in the first place (Which is perfectly valid), your approach will cost you very little. If you wanted to use these tools, you'll need to modify them to support your approach, which may cost quite a lot of time. Either way, the decisions about project layout are obviously, entirely yours. The AsUnit framework itself makes no assumptions of that kind. You should know that with AsProject, we're moving a little closer to the Rails ideas about convention over configuration, and standardizing on a project layout that is essentially expected for the tools to work properly. In the future, these tools may provide enough of a productivity gain to justify the change. The big win will come when working on teams, and other team members are able to instantly get up and running on your project because they already know where things are. Those days are still quite a way off so there's not a lot of pressure at the moment, just something to keep in mind. In closing, I really appreciate you taking the time on this list Robert and I hope to hear more from you as you get further along with AsUnit. Thanks, Luke Bayes www.asunit.org |