 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| |
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
|
|
|
|
|
Dont
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 dont mix get and give
|
|