Humane Code
2. Composite as Universal Abstraction
By Mark Seemann, 37m

Composite as Universal Abstraction

How do you make code readable? How do you make code fit in your head? How do you create good abstractions? How do you amplify the essentials while eliminating the irrelevant?

One useful tool is to employ the Composite design pattern, but when can you apply it? When are objects composable?

There’s a simple answer to that question. In this episode, you’ll learn to tell at a glance whether an interface is composable or not. This will also set you on the path of being able to deliberately design APIs in such a way that they’re composable – that is: so that they are intuitively understandable abstractions.

Composite is a universal abstraction. It’s not tied to a particular programming language or specific development paradigm. Under a different name, it exists independently of software development. This makes it a powerful abstraction.

1. Humane Code
By Mark Seemann, 34m

Why are most code bases bad? Why is it that, despite our best intentions, code rots between our fingers?

The answer is that most of us still think of code as merely a technical tool to reach a goal: Implement a feature. Fix a bug.

While it certainly is that, it’s also a written medium for communicating with other people: your colleagues, and your future self. We spend more time reading code than we do writing it, so we should optimise code for readability, instead of focusing on how fast we can produce it.

Learn how to think productively about software development, so that you can maintain a sustainable pace, even with a growing code base. This video is about humane code, and how programming is first and foremost an activity that ought to focus on communication.