Naming Standard not only for Python

This is cunning naming convention. I've created it for Python at first, but it can be easily applied to other languages. The key characteristict is in fast distinction between types of the names. class, function, object or constant name can be spotted right away.


Callable names (functions and classes) use underscore _ between words


Functions names are build from at least two words. Second word can be as simple as it.


Classes start from the a/an article and have short names

class a_car:

( If a class has just one instance (object) in whole project/file than the same name for object is very OK )

engine = an_engine()

Variables names don't have any word separators. All small letters.

i, x

Objects have class's name in it

mycar = a_car()
bluecar = this_returns_a_car()

Global variables (constants) have all capitals and no words separators.