Preemptive Pluralization is (Probably) Not Evil
Before you write any code — ask if you could ever possibly want multiple kinds of the thing you are coding...
It is a LOT easier to scale code from a cardinality of 2 to 3 than it is to refactor from a cardinality of 1 to 2...
I’ve seen this so many times, especially in places where I thought there would never be more than one. I like that swyx has a name for it.
Even at my current job, we’re working on a multi-year problem that shifts from a fundamental assumption of the platform that there’s only ever one of a thing, when now we’re realizing to keep pace with the market we need multiple.
It’s worth noting: you never see the cases where you don’t have to convert to more than one, so you feel the pain when you have to convert but the joy when you don’t have to.