News for hackers. Stuff that matters.
Re:Scala projects are difficult to maintain by nine_k on Monday March 22, 2021 @12:25PM (#26543006)
Were semialgebras a right abstraction, or over-engineering?

What is helpful in situations like this is the motto "as simple as possible, but not simpler". During a code review, if you see something you think is too complex, ask the author: "How could it be made even simpler? If not, how exactly a simpler approach did not work?" It sometimes helps find an overlooked simplification.

Re:Scala projects are difficult to maintain by hota_mazi on Monday March 22, 2021 @12:44PM (#26543260)
> 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.

Re:Scala projects are difficult to maintain by nine_k on Monday March 22, 2021 @09:55PM (#26550074)
This 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.