-
Notifications
You must be signed in to change notification settings - Fork 402
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rename 'game-core' -> 'game-engine'? Moving packages from: games.strategy
to org.triplea
#4689
Comments
Both are ok IMO, no objections on changing though.
If previously in the package name game and engine are replaceable, then In both cases I'm not a huge fan of renaming top level folders to be honest: This always makes the git history harder to work with. (See isaacs/github#900 ) |
As far as rename, @RoiEXLab I think you convinced me to hold off on the |
Totally agree. I don't understand why these things ever needed to be changed or why they would be changed again. simon33-2 out. |
Considering the package updates spans all of Looking into this further, it seems like it's a difference of:
vs
I'm less convinced about the impact of changing top level folder given that. Example:
Shows the full history back to Sean. Seems like it's just a matter of making @simon33-2 The reason to make these types of changes is so we can improve TripleA API's and class boundaries. Better package placement, less visible classes, and generally more intentionally designed public APIs will help clean up messes like for example places that interact with battle code. In something like BattleTracker, it's an example where there is very few boundaries and everything just calls into low level APIs as it pleases. Package structure does not enforce a fix for this, but it does help as public modifiers can be removed, and it becomes more obvious when cross-package calls are performed. The sub-project on the other hand creates a compile-time check to 100% disallow this. My thinking is sub-projects are going to be useful as just package re-arrangement is not enough to untangle the tripleA ball of yarn. I also think the ball of yarn problem goes to other deeper problems, like it being very difficult to test game rules due to everything having a dependency on Hopefully that illustrates the benefit to fixing API/package design problems and where sub-projects and re-arranging packages fits in. Since the overall goal is to get the game engine to be more testable, notably so we can create game components in test without loading a game XML, any additional ideas to do that are welcome. |
I did some prototyping on package grouping and came up with the list below:
Any thoughts on this grouping? Does
org.triplea.engine
seem like a better fit thanorg.triplea.game
? Any thoughts/feedback on updating the name of the sub-project:game-core
togame-engine
?The text was updated successfully, but these errors were encountered: