Class naming tips

Class, variable, and other namings are one of the most important things a programmer has to deal with when writing code. Not only good names will allow others to better understand your code, but also code reusability will benefit from it.

This is a compilation of recommendations for class naming:

[SO] From Implementation Patterns by Kent Beck:

[SO] If you adhere to the Single Responsibility Principle (SRP), it should be easy to come up with good names. If a class is hard to name or explain then it's probably not following the SRP. A class name should instantly communicate what the class is. Good names drive good designs.

Ottinger's Rules for Variable and Class Naming (also in Clean Code's second chapter):

Interesting pages from c2 wiki related to naming: