OO Hints to Follow!
• Express repeated functionality with inheritance
• Is the same responsibility carried out by multiple classes?
• Check whether you can recognize this commonality by finding a common
base class and have the other classes inherit from it
• Keep class responsibilities at a single abstraction level
• Every project exhibits a layering of abstractions
• The responsibilities of a single class should stay at one abstraction level
and should not go to a higher or lower level
• Class names should be nouns
• Don’t use object is a class name – it adds no value
• Operations should be verbs or short sequence of words that
contain a verb
• There should be unique identifiers in the first 1-2 words of a name
• Keep names consistent “don’t mix “get” and “give”