defensive programming

9
Defenzívne programovanie najmä v PHP

Upload: bluewebsk

Post on 14-Aug-2015

31 views

Category:

Internet


6 download

TRANSCRIPT

Page 1: Defensive programming

Defenzívne programovanie

najmä v PHP

Page 2: Defensive programming

Finagle's Law of Dynamic Negatives

• ... hovorí, že:

• Anything that can go wrong, will—at the worst possible moment.

Page 3: Defensive programming

Definícia

• Defensive programming is a form of defensive design intended to ensure the continuing function of a piece of software under unforeseen circumstances.

Page 4: Defensive programming

Výhody/očakávania

• Minimalizácia (expost) chybovosti

• Odolnosť nepredvídaným zmenám

• Vhodné správanie aj napriek nevhodným vstupom/používaniu

Page 5: Defensive programming

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?

Page 6: Defensive programming

Využitie

• Všade :)

• Integrálne pri komunikácii s tretími stranami:

• importy/exporty

• jednorazové/synchronizačné

Page 7: Defensive programming

Prax - exportno/importný systém

Page 8: Defensive programming

Prax - exportno/importný systém

Page 9: Defensive programming

Ďalšie čítanie

• https://en.wikipedia.org/wiki/Defensive_programming

• http://www.sitepoint.com/defensive-programming-in-php/