October 14, 2015
Keep It Simple
—Is it clarity or simplicity we need?
In The thing with code clarity: you can't be proud of something I can't read
, Santiago L. Valdarrama makes an plea for clarity. I applaud Santiago's position but think clarity misses the point. I prefer simplicity--the removal of non-essential elements.
I'm not convinced clarity leads to simplicity. Clarity can lead to understanding. Is understanding a complex implementation worthwhile? Not if that implementation can be simpler.
Simplicity. Achieve it and the documentation need only explain the essential elements of the solution. It solves the problem of how much to document. It makes obvious to those maintaining the implementation what it does and where the gaps in their knowledge lie.
makes excellent comments
and includes informative links. The first discusses The Little Prince; the second the progression of Picasso's Bull. I like the connection between my notion of simplicity and Picasso's Bull. But it raises troubling questions when applied to software.
The Little Prince and Bull are the work of a single individual. Most useful software is developed by teams. I'll bet lack of clarity amplified through misunderstanding by multiple people creates a vicious downward spiral.
Clarity won't provide an escape from this spiral. Simplicity will.