A funny quotation from http://wiki.openstack.org/CppCodingStandards
FIXME: Desc says they should be PascalCased but example says they shouldn’t.
Class names should be PascalCased and should adequately describe the object, with as little abbreviation as possible. Where necessary, acronym’d parts of a class name should be kept in all uppercase.
Prefixing (such as prefixing all classes with Cls) is to be avoided.
For abstract base classes, it is encouraged to name the class with an adjective that illustrates the interface’s main purpose. For instance, an abstract base/interface class that describes a class type that can be interrupted by a signal could be called interruptible
1 class sql_client; // describes an object acting as a client to a SQL store 2 class interruptible; // an interface class describing a type of object that 3 can be interrupted by some signal 4
1 class SqlClient; // Don't use PascalCased or camelCased names 2 class cls_client; // Don't use useless prefixes! 3 class tool; // Doesn't describe anything. A tool which does '''''what'''''? 4