Rewrites. Ugh what a gross word in software development. Believe me, I know all about them. I’ve been writing software for over nine years, and I’ve spent most of it rewriting things because I’m a perfectionist. This post is about how you can avoid the problems I’ve had, and when a rewrite might actually be the right thing to do.
This post is mainly written for people familiar with Amethyst and I won’t be spending a lot of time going over the history of the project and how we got to where we are today.
A small summary and some reminders is in order though.
For those who aren’t familiar I have opinions on how an ECS should be implemented for Amethyst.
We have three names flying around for our ECS project so I’ll provide a quick summary of them here.
specsThe OG amethyst ECS, this has been kicking around for a long time. It’s got a few problems that have manifested for Amethyst in unfortunate ways which inspired two spin off/reboot projects.
nitric@torkleyy’s spin on an ECS, developed here on gitlab.
igneousMy proposal for a fork of
specsthat can be used to solve problems with it. Doesn’t actually exist beyond a few drafts and proposals.