principles:principle_of_least_surprise
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:principle_of_least_surprise [2020-10-12 16:31] – old revision restored (2013-02-18 17:24) 159.69.186.191 | principles:principle_of_least_surprise [2021-09-02 10:48] – old revision restored (2021-05-11 22:18) 65.21.179.175 | ||
---|---|---|---|
Line 25: | Line 25: | ||
===== Strategies ===== | ===== Strategies ===== | ||
- | |||
- | |||
- | ===== Caveats ===== | ||
- | |||
- | See section [[#contrary principles]]. | ||
Line 48: | Line 43: | ||
==== Generalizations ==== | ==== Generalizations ==== | ||
- | |||
- | * [[Easy to Use and Hard to Misuse]] (EUHM): A module is easy to use if there is no surprise in how it works. | ||
==== Specializations ==== | ==== Specializations ==== | ||
Line 58: | Line 51: | ||
* [[Fail Fast]] (FF): FF is about what a module should do in the case of error. PLS on the other hand is about how the module should behave normally. Furthermore it normally is not a surprise that a module fails when there is an error but a module that doesn' | * [[Fail Fast]] (FF): FF is about what a module should do in the case of error. PLS on the other hand is about how the module should behave normally. Furthermore it normally is not a surprise that a module fails when there is an error but a module that doesn' | ||
- | * [[Model Principle]] (MP): PLS is mainly about how module identifier and module behavior relate to each other. MP tells that modules named according to the model are least surprising. | + | |
- | * [[Uniformity Principle]] (UP): When applying PLS, UP should also be considered for naming modules. | + | |
==== Principle Collections ==== | ==== Principle Collections ==== | ||
principles/principle_of_least_surprise.txt · Last modified: 2021-10-18 22:15 by christian