01 / 07
An assumption you do not write down disappears
While you are writing code your head is always full of assumptions about how things stand at a given point.
"A price is never negative." "The list is not empty." But those assumptions are written nowhere in the code, so when one of them turns out to be false, nobody notices.
The tool for writing them down is assert, which means to state something flatly.