CSC/ECE 517 Fall 2007/wiki2 9 kk
Principle of Least Astonishment
The principle of least astonishment states that when you are presented with a different outcomes one should always pick the one of least ambiguity or suprise. The principle has applications in a lot of fields. This wiki serves as a guide for the reader to understand more about this principle.
Examples
The simplest example in programming where the name of a function does not indicate its functionality. { int add(int a, int b)
return (a*a+b*b);
}
The function above is supposed to add two numbers but actualy returns the sum of squares of the two numbers which would suprise the programmer who is using the function.