Simplicity
"Simple Made Easy" - Rich Hickey https://www.youtube.com/watch?v=LKtk3HCgTa8
The aim of software design, is simplicty.
The tools, practices languages, libraries etc and knowledge, experiences, habits, circumstances etc can make simplicity harder or easier
By making simplicity easier, we are likely to do it
if it is harder, we will avoid simplicty and make things complex
Simplicity is what good design is
ie maintainability, readability, dubuggability, testability, extendability, fixability etc
The ideas of low coupling high cohesion -> SOLID -> patterns, all aim for simplicity
Simplicity can never be accomplished, as requirements change, features added, bugs fixed etc, software becomes complex
so always looking to bring software back to being as simple as possible
Simplicity can often fight against of needs of software requirements
ie performance, redundancy, distbuted etc
Last updated