Laws of Software Engineering · Principle
Principle
Principle of Least Astonishment
Software should behave the way someone familiar with it would expect.
How to use it. When reviewers say "wait, what?", the design is wrong. The reviewer is the measuring instrument.
How it gets misused. Confused with "do what is familiar". Sometimes the right design is unfamiliar. Then your job is to make it learnable.
Related
- Principle Hick's Law The time it takes to make a decision grows with the number of options.
- Principle Ubiquitous Language The people who build the software and the people who use it must use the same words to mean the same things. The vocabulary is the design.
Clusters
- The Code Design cluster - How to write code that survives change.