I think such a document is necessary even though it may strike some of us as a bit too confining at first. Let's face it, all cars that I know of turn to the right when one turns the steering wheel to the right. In other words, we are thankful that there is a car designer's guideline that all manufacturers adhere to. The side benefit of this feature is that it would be tough to hot wire my car, the down side is that my car could only be driven in the rain by a lunatic. All code should use meaningful variable names.
Possible exceptions are loop or array index variables.
Use a longer more descriptive name if it adds clarity or improves documentation. Indices for long loops probably should have descriptive names. Conventional names like i or j can be used for array indexing. This also make clear the limited usage and lifetime of the variable. If a library doesn't provide the functionality you need, extend the library so others can use what you've done.