- Never assume any knowledge whatsoever on the side of the user, which leads to: always, always, always check user input before processing, in whatever form it may take.
- Never assume a subroutine/command has processed a call succesfully when said subroutine/command goes through the trouble of reporting whether or not it did and in that light, always endeavour to write subroutines that have clear and concise error reporting as well as a return value that reports if the command was executed succesfully.
Those are mostly rules I try to stick to myself, but a lotta folks I know feel the same way about it.
| [reply] |