5 ms·
> Were semialgebras a right abstraction, or over-engineering? I think that's missing the point. The criterion should be: is the code clear enough to be easily
by hota_mazi 6y ago
> Were semialgebras a right abstraction, or over-engineering?
I think that's missing the point.
The criterion should be: is the code clear enough to be easily testable, easy to debug, and easy to evolve?
I will take a wrong abstraction with the qualities listed above any day of the week.
- nine_k 6y agoThis is a good call. The problem with wrong abstractions, though, is that they do not work, especially when you make the next step on the roadmap. I would say that clear, testable, evolvable code with little abstraction may be fine. OTOH boilerplate and copy-paste prevents easy or well-controlled evolution. The abstractions end up inlined and fused in the code, instead of being made visible, and become easy to miss a case when a concerted change is needed.