________________________________________________________________________________ / A program should be light and agile, its subroutines connected like a \ | strings of pearls. The spirit and intent of the program should be retained | | throughout. There should be neither too little nor too much, neither needless | | loops nor useless variables, neither lack of structure nor overwhelming | | rigidity. | | A program should follow the 'Law of Least Astonishment'. What is this | | law? It is simply that the program should always respond to the user in the | | way that astonishes him least. | | A program, no matter how complex, should act as a single unit. The | | program should be directed by the logic within rather than by outward | | appearances. | | If the program fails in these requirements, it will be in a state of | | disorder and confusion. The only way to correct this is to rewrite the | | program. | \ -- Geoffrey James, "The Tao of Programming" / --------------------------------------------------------------------------------
\
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||