I’ve noticed that my first solutions to things tend to be way too complex. But the irony is that when I first come up with them, I generally have no idea that this is true.
I usually start out thinking “This looks like a really simple and elegant way to do this.” But then I start to implement the thing, and I begin to notice that various things are sticking out here and there.
So I say to myself “Well, I don’t really need this part,” and I take something out. Which means that now I don’t really need that other part either, so I take that out too.
After a number of iterations, I usually end up with something a lot simpler than the Rube Goldberg contraption that I had started with. At which point I generally ask myself “Hey, why didn’t I think of this in the first place?”
Good question. Maybe eventually I will find a simple answer.
Ah yes, the Marie Kondo philosophy of code :
« Does this instruction spark joy ? »