We don't want huge sentences as our variable names, but typing an extra couple of characters is always better than wondering what exactly a certain variable is for. The only situation where a one-character variable name is allowed is when it's the index for some looping construct. If the loop is being indexed by some already-existing variable with a meaningful name, this guideline does not apply. Again, all lower-case names with words separated by a single underscore character. Function names should preferably have a verb in them somewhere.
Arguments are subject to the same guidelines as variable names.
In most cases, we'd like to be able to tell how to use a function by just looking at its declaration. The basic philosophy here is to not hurt code clarity for the sake of laziness. Even if the body of some construct is only one line long, do not drop the braces. These are all wrong. These are right.