principles:easy_to_use_and_hard_to_misuse
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
principles:easy_to_use_and_hard_to_misuse [2020-10-12 12:39] – old revision restored (2013-02-06 21:58) 159.69.186.191 | principles:easy_to_use_and_hard_to_misuse [2020-10-12 14:32] – old revision restored (2013-01-15 17:12) 159.69.186.191 | ||
---|---|---|---|
Line 37: | Line 37: | ||
==== Generalizations ==== | ==== Generalizations ==== | ||
- | * [[Murphy' | + | * [[principles:Murphy' |
==== Specializations ==== | ==== Specializations ==== | ||
- | * [[Principle of Least Surprise]] | + | * [[principles:Principle of Least Surprise]] |
==== Contrary Principles ==== | ==== Contrary Principles ==== | ||
- | * [[Keep It Simple Stupid]] | + | * [[principles:Keep It Simple Stupid]] |
==== Complementary Principles ==== | ==== Complementary Principles ==== | ||
- | * [[Model Principle]] | + | * [[principles:Model Principle]] |
- | * [[Uniformity Principle]] | + | * [[principles:Uniformity Principle]] |
- | * [[Fail Fast]] | + | * [[principles:Fail Fast]] |
- | * [[Invariants Avoidance Principle]] (IAP): One reason for a possible misuse of a module is an invariant. For example there might be a method which takes a list and an index where the index has to be within the bounds of the list. Each of these invariants imposes further possibilities for misuse of the module. So it is better to avoid them. | + | |
==== Principle Collections ==== | ==== Principle Collections ==== |
principles/easy_to_use_and_hard_to_misuse.txt · Last modified: 2021-10-18 21:29 by christian