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

Make Species and Configuration classes immutable #1948

Open
trisyoungs opened this issue Jun 26, 2024 · 1 comment
Open

Make Species and Configuration classes immutable #1948

trisyoungs opened this issue Jun 26, 2024 · 1 comment
Labels
Scope: Workflow Affects general workflow or operation Type: Enhancement Enhancement for existing feature

Comments

@trisyoungs
Copy link
Member

Describe the feature / issue
For data safety it would be good to have the Species and Configuration class as truly immutable representations for the purposes of processing. In other words, we should remove any creative / destructive functions from them and put them all in something akin to EditableSpecies and EditableConfiguration classes. The latter would be passed to Generator procedures and then the contents of an immutable Configuration constructed from it once complete. Similarly, an EditableSpecies is the subject of drawing and other editing operations, and from which a Species is constructed afterwards.

If we do this it will clean up quite a few "what if's" and "maybe"s when it comes to potential data mutations in the basic classes.

@trisyoungs trisyoungs added the Type: Enhancement Enhancement for existing feature label Jun 26, 2024
@trisyoungs
Copy link
Member Author

Probably need an analogue of SpeciesAtom (EditableSpeciesAtom) as well.

@trisyoungs trisyoungs added the Scope: Workflow Affects general workflow or operation label Jul 10, 2024
@github-project-automation github-project-automation bot moved this to Workflow in Overview Aug 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Scope: Workflow Affects general workflow or operation Type: Enhancement Enhancement for existing feature
Projects
Status: Workflow
Development

No branches or pull requests

1 participant