Naming and layout suggestions
NL.7
Make the length of a name roughly proportional to the length of its scope
Rationale: The larger the scope the greater the chance of confusion and of an unintended name clash.
Example
double sqrt(double x); // return the square root of x; x must be non-negative
int length(const char* p); // return the number of characters in a zero-terminated C-style string
int length_of_string(const char zero_terminated_array_of_char[]) // bad: verbose
int g; // bad: global variable with a cryptic name
int open; // bad: global variable with a short, popular name
The use of p for pointer and x for a floating-point variable is conventional and non-confusing in a restricted scope.
Enforcement
???