C ProgrammingStyle
write it once, and only once
- modifications require one change
- less code is better code
only -1, 0, and 1 as constants
Boolean != NULL != 0 != \0
check and validate input (including excess)
dont modify function arguments
fopen/fclose at same level
check function return codes
read input in only one place
print really good error messages
get the code right first, then optimize