Chapter 3

KISS: Make It Simpler, Not Shorter

KISS proposes choosing the simplest solution that fully solves the current task. Not the shortest and not the most primitive - simple. A simple solution is easy to explain, check, and change, and that's its whole value.

The key measure of simplicity isn't length but how much you have to hold in your head. If understanding a function requires remembering five modes, three exceptions, and a hidden call sequence, the code can't be called simple even if it has few lines. And a straight ten-line formula can be simpler than an "elegant" three-line abstraction.

Simple isn't primitive. KISS doesn't require cutting features or writing naively. It requires the solution's complexity to match the task's complexity, not an imagined future one.
Knowledge check

What does KISS propose?

KISS answers "is it simple enough." The neighboring question is "are we building too much in advance." That one is answered by YAGNI.

Links