2. Finagle's Law of Dynamic Negatives
• ... hovorí, že:
• Anything that can go wrong, will—at the worst possible
moment.
3. Definícia
• Defensive programming is a form of defensive design intended to
ensure the continuing function of a piece of software under
unforeseen circumstances.
5. Zásady
• budem daný proces opakovať?
• aj v prípade jednorázového ho budem opakovať keď sa bude ladiť,
ako si to ľahko zreplikujem?
• ako overím, že všetko je v poriadku?
• Generická hláška? Že skript prebehol? Aj keď nič nezmenil? Čo
zmenil a nezmenil?
• ako pracujem s výnimkami/návratovými stavmi? ošetrujem všetko
alebo programujem v dobrej vôli? Komu/kam príde chybová hláška?
6. Využitie
• Všade :)
• Integrálne pri komunikácii s tretími stranami:
• importy/exporty
• jednorazové/synchronizačné