Defensivní programování je styl, kdy nic nepředpokládáme. Tedy nemáme žádné dobré předpoklady jako že uživatelé budou zadávat správné vstupní hodnoty, že technická zařízení se vždy budou chovat jak bylo popsáno v návodu, že se skrátka všechny věci budou dít tak aby náš program fungoval.
Neexistenci pozitivních předpokladů nahradíme jedním jediným negativním předpkladem.
Vše co se může pokazit, se pokazí.