Abstraction

Code Aesthetic: Never Nester

code aesthetic never nester video provided a blueprint for function extraction and inversion with early return in order to avoid deeply nested code.

the same approach can be applied to abstraction in general.

Fundamentals of Software Architecture Chapter 3

fundamentals of software architecture chapter 3 - modularity notes describe a metric called distance from the main sequence. This compares abstraction to concreteness in the implementation of an application.

code aesthetic in his video suggests a hard boundary at 3 levels of nesting. i have always thought any abstract class is unnecessary and that a single interface contract is sufficient, like in golang. Likewise I think 3 levels of abstraction is the limit for programming.