When you’re not surprised by the implementation details of something, it adheres to the principle of least surprise.

Alex

Ah of course, that’s how it’s implemented

A good reason to follow the principle is because the principle of least surprise frees up mental load.

In software engineering, if you violate this principle, you’ll often get frighteningly interesting software, where things surprises you constantly.

When you’re adhering to this principle whilst developing, you’ll get delightfully boring software where you’ve curbed complexity.

When we over engineered a complex problem, we’re often surprised by the implementation, which violates this principle.