Design Before Implementation
Know
Deciding responsibilities and interfaces before writing code is what makes a program changeable later. Design is a separate activity from coding, not a preamble to it.
Apply
Sketch the classes, their responsibilities, and how they interact before opening an editor.
Watch out
Starting to type immediately, which produces code that works and cannot be modified.
Study move
Take a working project and write, after the fact, the design you would have drawn first.
