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