Question: I am currently writing a coding style guideline for junior devlopers, and I am curious if anyone uses list of common variable names (for basic concepts), to limit confusion in codebase? 

For example:

* for email address: **email** (and not: *mail*, *e-mail*, *address*, \*mail\_address\* ...)
* for database name: **dbname** (and not: *db*, *dbase*, *base*, *database*, \*database\_name\*, *dbn* ...)
* for file name with full qualified path: **filepath** (and not: *file*, *path*, \*file\_name\*, *pathtofile* ...)
* for relative file name (without path) : **filename** (and not: *file*, *name*, *f*, ...)
* for configuration object : **config** (and not: *configuration*, *conf*, *vars*, ...)

Do you use similiar conventions?

**Edit**:

To be precise: it is not about **formatting** convention (*camelCaps* or \*names\_with\_underscores\*) which tends to be language and project dependant, but about **naming** convention (*mail*, *email* or *courriel*), something which is common for all the languages (like convention of using *i*, *j*, *k* for iteration counters)

Answer: 
Pick a consistent convention and stick to it.

Your suggested convention is not consistent. **email** is using [the English word](http://en.wikipedia.org/wiki/Email), so instead of dbname you should use **database\_name**. Also, **file\_path**, **file\_name**, **configuration**.

In short, I suggest full English words, separated by '\_'. This is consistent and is the convention used in Eiffel. Other systems may be consistent, too. But not a mix of everything.
Many people usually prefer to adopt the conventions already adopted in the language they use.  

E.g. in java it would be **databaseName** and in C++ **database\_name**