Finagle's Law ofDynamic Negatives
• ... hovorí, že:
• Anything that can go wrong, will—at the worst possible
moment.
3.
Definícia
• Defensive programmingis a form of defensive design intended to
ensure the continuing function of a piece of software under
unforeseen circumstances.
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é