Defensive programming
il debugging può essere facilitato se pratichiamo una programmazione "defensive”
- inserire controlli nel programma per rivelare errori possibili
- in particolare dovremmo controllare
- che sia soddisfatta la clausola REQUIRES
- l’invariante di rappresentazione
- questi controlli dovrebbero essere mantenuti, se possibile, nel codice finale