There is an universal law behind well written programs. Once you got it you will be shuttered each time you see someone or something not obeying this law. It’s nothing new and by no way invented or first described by me – With this article I only try to explain it to more people, with my individual approach. Maybe it’s usually not described in such a big context, but you’ll surely recognize some of the derived rules I’ll mention.
Everything should describe or do exactly one thing – do it well – and nothing more.
This is easy to understand, but in practice hard to master.
I present a bunch of motivating examples, then we dive into the application in software engineering.