principles:easy_to_use_and_hard_to_misuse
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
principles:easy_to_use_and_hard_to_misuse [2013-02-12 21:45] – [Strategies] christian | principles:easy_to_use_and_hard_to_misuse [2021-10-13 08:19] – old revision restored (2021-09-02 12:26) 194.209.25.108 | ||
---|---|---|---|
Line 11: | Line 11: | ||
===== Principle Statement ===== | ===== Principle Statement ===== | ||
+ | A module shall be easy to use and hard to misuse. | ||
===== Description ===== | ===== Description ===== | ||
Line 25: | Line 26: | ||
* Make the interface simple, so there will be fewer usage defects (see [[Keep It Simple Stupid|KISS]]) | * Make the interface simple, so there will be fewer usage defects (see [[Keep It Simple Stupid|KISS]]) | ||
* Use the same mechanisms wherever reasonably possible (see [[Uniformity Principle|UP]]) | * Use the same mechanisms wherever reasonably possible (see [[Uniformity Principle|UP]]) | ||
- | * Use consistent naming and models throughout the design (see [[Uniformity Principle|UP] and [[Model Principle|MP]]) | + | * Use consistent naming and models throughout the design (see [[Uniformity Principle|UP]] and [[Model Principle|MP]]) |
* Avoid Preconditions (see [[Invariant Avoidance Principle]]) | * Avoid Preconditions (see [[Invariant Avoidance Principle]]) | ||
* ... | * ... | ||
+ | |||
+ | |||
+ | ===== Caveats ===== | ||
+ | |||
+ | See section [[#contrary principles]]. | ||
Line 51: | Line 57: | ||
* [[Principle of Least Surprise]] (PLS): A module is easy to use if there is no surprise in how it works. | * [[Principle of Least Surprise]] (PLS): A module is easy to use if there is no surprise in how it works. | ||
- | * [[Uniformity Principle]] (UP): Uniform interfaces are easier to use than others. | ||
==== Contrary Principles ==== | ==== Contrary Principles ==== | ||
Line 80: | Line 85: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ |
principles/easy_to_use_and_hard_to_misuse.txt · Last modified: 2021-10-18 21:29 by christian