Skip to content
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

Split FrEee.Core into a hierarchy of projects #300

Open
ekolis opened this issue Feb 10, 2024 · 2 comments
Open

Split FrEee.Core into a hierarchy of projects #300

ekolis opened this issue Feb 10, 2024 · 2 comments
Assignees
Labels
technical debt Things that would make the code cleaner but deliver little to no value to users.
Milestone

Comments

@ekolis
Copy link
Owner

ekolis commented Feb 10, 2024

What needs to be cleaned up?
FrEee.Core (or just FrEee) is a huge project with lots of namespaces and classes in it. It would help me understand how everything links together if I could split it into multiple projects, such as Map, Civilization, and Modding, each of which can reference projects lower in the hierarchy but not higher, e.g. Map can reference Civilization and Modding, but Modding can't reference Civilization or Map - and immediately that presents a problem as mod templates will need to be able to reference the object types that they create!

How will this benefit us?
Make the code structure easier to understand in order to enable further refactorings and rewrites (e.g. better understand the hierarchy of space object types to eliminate the referrables list).

What potential drawbacks are there to making this change?
Time consuming; might not be feasible if there are too many crosslinks

@ekolis ekolis added the technical debt Things that would make the code cleaner but deliver little to no value to users. label Feb 10, 2024
@ekolis ekolis added this to the alpha-10 milestone Feb 10, 2024
@ekolis ekolis self-assigned this Feb 10, 2024
@ekolis
Copy link
Owner Author

ekolis commented Feb 10, 2024

This is getting messy, everything refers to everything else and I can't figure out where to split it up...

@ekolis
Copy link
Owner Author

ekolis commented Apr 21, 2024

See also #312 for factoring out some data models

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
technical debt Things that would make the code cleaner but deliver little to no value to users.
Projects
Status: To do
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant