I will write a series of article around architecture principles I follow.
Often, in the software industry, it’s hard to say “STOP, this software doesn’t need more”. We have a tendency as human to wants more and we apply this pattern (Yes, I have said the word “pattern”
) to our software.
Therefore, following the KISS principle could be against nature. Every times I starting to design a component, writing some code, creating a information system architecture, I keep saying to myself, “do we really need this ?”, “Is that is not too much complicated ?”, “Is there something simpler to do the same job ?”…
I will become evangelist here. I see this principle as the prime principle
. Before thinking of DRY or SOLID principles which are very important, as a whole, we should always keep modesty and try to add only what is really needed to our software. When i mean “add”, I mean, features, 3rd Parties libraries, source codes , commentaries…
By the way, I like this quote on the wiki link :
The principle most likely finds its origins in similar concepts, such as Occam’s razor, and Albert Einstein‘s maxim that “everything should be made as simple as possible, but no simpler”.[2] Leonardo Da Vinci‘s “Simplicity is the ultimate sophistication”, or Antoine de Saint Exupéry‘s “It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away”.
[...] This platform was primarily intended to work on mobile device. Therefore, it has been design to be light and focusing on the principal (KISS Principle). [...]
[...] a great part. Spring philosophy (I hope it will stay this way…) to focus on the principal (KISS Principle) might be a good solution for small and medium business who need to develop web application without [...]
[...] My first re-factoring action has been to model our page using the Composite pattern representing an object tree of the page and using the Visitor pattern to make CSS, JS and HTML being rendered (CSSVisitor, JSVisitor, …). It make the page been rendered several times faster (HTML very clean, JS and CSS being cache by the browser) and even more flexible since we can render any kind of content from our model. Nice, simple, KISS. [...]