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

Do a big refactor of everything #29

Open
JimmyCushnie opened this issue Jul 20, 2020 · 3 comments
Open

Do a big refactor of everything #29

JimmyCushnie opened this issue Jul 20, 2020 · 3 comments
Assignees

Comments

@JimmyCushnie
Copy link
Owner

The core of this project was written when I was a much less seasoned programmer, and SUCC as a whole is not up to my current standards of code quality. Todo, at some point: refactor the whole damn thing.

@JimmyCushnie JimmyCushnie self-assigned this Jul 20, 2020
@JimmyCushnie
Copy link
Owner Author

In particular, good lord BaseTypes needs to be split up into a dozen smaller classes. I started doing this with TypeStrings (d0b2647), but it needs to come to the rest of the base types, ideally with some nice abstraction for classes with base type logic.

This will be absolutely necessary if we add complex arithmetic parsing for float types (#28)

@JimmyCushnie
Copy link
Owner Author

Another notable space where code should be improved: instead of hardcoding which collection types are supported (currently Array, List, HashSet), implement an abstract solution that uses ICollection or something. (Though we'll still need special code for Dictionaries)

@JimmyCushnie
Copy link
Owner Author

Oh yeah, also we really need a common interface for ReadOnlyDataFile and DistributedData, like ISuccDataContainer. Probably most of the methods, like GetAsDictionary, can be abstracted to extension methods on that interface.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant