Programmers should take a "simple is best" approach to software design.
Whenever a new piece of code is written, the author should ask themselves 'is there a simpler way to introduce the same functionality?'.
If the answer is yes, the simpler course should be chosen. Refactoring should also be used, to make complex code simpler.
From Wikipedia, the free encyclopedia.
We would like to suggest you the following list of usefull resources on the topic: