•Elegance does pay off!
•This term spend time
with your design before throwing code at the problem. Each program
will be building inheritance hierarchies – look for commonalities –
resist the urge to hurry (it will only slow you down!)
•Break it down!
•If the problem you
are looking at is too confusing, try to imagine what the basic operation of the
program would be (divide and conquer), given the existence of “black box” that
handles the hard parts. That “black box” then can be a class that encapsulates
the intended functionality