Whether on the object-oriented or functional side of Scala, we’ve all had the unpleasant experience of dealing with overly rigid, infectious abstractions that make code hard to understand and modify.
In this talk I’ll present one rule of thumb that separates low-cost, easy-to-unwind abstractions vs high-commitment abstractions, namely whether the abstraction affects the control flow of your code.
We’ll go over how to avoid prematurely committing to abstractions that affect your control flow and when to know whether a high-commitment abstraction is worth it.
voted / votable