日本語

Low-commitment vs high-commitment abstractions (or protect your control flow!)

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.

Session length
10 minutes
Language of the presentation
English
Target audience
Beginner: No need to have prior knowledge
Who is your session intended to
Working programmers of all stripes looking to understand the mental cost of abstractions better
Speaker
Changlin Li
  • Northeast Scala 2018 (Moving Beyond Defensive Programming) (slides, video)
Contributes

voted / votable

Candidate sessions