Why DRY KISS?
No, I don’t suffer from Gougerot-Sjögren Syndrome. ^^
DRY stands for Don’t Repeat Yourself.
It is a philosophy of doing things where laziness is rewarded.
It means trying to never do the same thing twice. Every time you know you will have to do a task a number of times, try to automate that task.
If you are writing code, don’t copy/paste and modify the details: write a function.
It allows doing more with less, have a more structured and reproducible workflow, and prevents errors (modify in one place and apply on all iterations).
KISS stands for Keep It Simple, Stupid.
It is a design goal in which you should strive for simplicity and avoid unnecessary complexity.
It doesn’t mean it should be simple for the user (as in user-friendly), but that the inner workings should be simple and easy to inspect, understand, modify and repair.
This applies for example to flat text config files in linux compared to the registry in windows.
Both principles, when applied, lead to a certain kind of minimalism, where you understand and control every piece of the thing you are building.
It demands more prior thinking about the design and architecture, but allows less writing and better maintainability.
As Antoine de St-Exupery said:
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
I’m a medical data scientist, currently an Associate Professor of BioMedical Informatics at the Georges Pompidou European Hospital and Paris Descartes University in Paris, France.
You can see my resume here (in French)