Comment by Twisol
5 years ago
> This is basic DRY violation. The number is duplicated twice 2 and that can get out of sync (as in the example).
I think it's pretty clear that the number is a placeholder for something reasonable, e.g. making an association between two distinct sets of concepts. You'll still be vulnerable to copy-paste or typo issues.
> Personally, I've used reflection
Now you have two problems (and still have to maintain an association between two sets of concepts).
I don't think most enum-to-function mappings are distinct sets of concepts.
In my own code, I have used the enum name to map to a set of functions related to that enum value. The association is implicit in the name of the enum value and the name of the functions. No way to mess that up like this.
If it was:
It's no difference. Still repeating "Box".