2 ms·
I've hit this. Usually it's because I originally thought about it, created a generic solution to my understanding of the code/domain, hit an edge case, tweak it
by lostcolony 11y ago
I've hit this. Usually it's because I originally thought about it, created a generic solution to my understanding of the code/domain, hit an edge case, tweak it to handle that edge case, hit another edge case/break a test, tweak it to handle both that and the original, repeat.
I think everyone hits this; to avoid it you have to have a perfect understanding of the domain a priori. The difference I see now, compared to when I was starting out, is I recognize I'm doing it more quickly. Once I do, I will re-examine the domain from the perspective of "it includes all these edge cases", and generate a new abstraction that encompasses more (hopefully all) of them.