Encapsulation

Fighting public enemy #1

4/17/2025


Sean Johnson

Sean Johnson

Principal Software Engineer, LiaraDB maintainer


Thinking about Software Architecture


It gets really hard to go back and read code from even a week ago.

You find some really terrible code, and want to yell at whomever wrote it. And then you read the git blame, and realize it was you.

The whole point of software is that it’s easy to change.

Testing is incredibly important to reliability, yet we avoid it

Hyrum’s Law


With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.

  • Hyrum Wright

What are observable behaviors?


Will someone notice if you change it?


Coupling


What do we do???


Strategies


Language Support