Software Design - Principles

> Code - (Programming|Computer) Language > ( Information System | Software ) Design - Art of Programming

1 - About

When a trade off must be made then the design principles help guide the decision in choosing between competing alternatives.

2 - Java

Java: principles circa 2005.

  • Reading is more important than writing
    • code should be a joy to read
    • the language should not hide what is happening
    • code should do what it seems to do
  • Simplicity matters
    • a clear semantic model greatly boosts readability
    • every “ good” feature adds more “bad” weight
    • sometimes it is best to leave things out
  • One language: with same meaning everywhere

3 - My

  • Less is more. What have no meaning is not welcome (XML vs Json, Graphic without Border, …)
  • Text-readable first, Command-Line second, WebGui Third
  • Feedback: Open all, close on demand
  • Features: Start small, open on demand
  • Wouah effect

4 - Documentation / Reference