Defenzivní programování je forma návrhu softwaru, která se snaží zaručit jeho nepřetržitou funkčnost i za podmínek použití, ke kterým nebyl původně navržen. Snaží se eliminovat tzv. Murphyho zákony. Ty říkají, že cokoliv se může potenciálně pokazit, se zaručeně pokazí.

PropertyValue
prop-cs:wikiPageUsesTemplate
dbpedia-owl:abstract
  • Defenzivní programování je forma návrhu softwaru, která se snaží zaručit jeho nepřetržitou funkčnost i za podmínek použití, ke kterým nebyl původně navržen. Snaží se eliminovat tzv. Murphyho zákony. Ty říkají, že cokoliv se může potenciálně pokazit, se zaručeně pokazí. Defenzivní forma návrhu se aplikuje především, pokud by mohlo selhání softwaru vést ke katastrofickým, či velmi nákladným scénářům.Při defenzivním programování autor předpokládá, že okolní svět se snaží za každou cenu zničit jeho dílo, a tudíž svůj program připravuje na všechny možné situace, které by ho mohly poškodit. Autor tedy očekává, že uživatelé budou posílat nesmyslné, či záludné vstupy, nebudou dodržovat stanovený kontrakt atd. Jedním z cílů defenzivního programování je zabránit poškození vlastních dat, či stavu programu, ale na druhou stranu a reagovat benevolentně. Je třeba mít na paměti, že největším nebezpečím pro program je autor sám a tudíž by měl hlídat hlavně sebe a důsledek své práce. Programátor myslí dopředu, musí ošetřit všechny možné stavy, výjimky a chybové situace v kódu. Defenzivní programování také brání proti SQL injection, DNS útokům, neoprávněnému přístupu a dalším útokům zevnějšku. Podporuje tzv. audity kódu, při kterých dochází ke kontrole čitelnosti a snadnému porozumění kódu.
dbpedia-owl:wikiPageExternalLink
dbpedia-owl:wikiPageID
  • 800846 (xsd:integer)
dbpedia-owl:wikiPageLength
  • 5535 (xsd:integer)
dbpedia-owl:wikiPageOutDegree
  • 2 (xsd:integer)
dbpedia-owl:wikiPageRevisionID
  • 12737123 (xsd:integer)
dbpedia-owl:wikiPageWikiLink
dbpedia-owl:wikiPageWikiLinkText
  • Defenzivní programování
dcterms:subject
rdfs:comment
  • Defenzivní programování je forma návrhu softwaru, která se snaží zaručit jeho nepřetržitou funkčnost i za podmínek použití, ke kterým nebyl původně navržen. Snaží se eliminovat tzv. Murphyho zákony. Ty říkají, že cokoliv se může potenciálně pokazit, se zaručeně pokazí.
rdfs:label
  • Defenzivní programování
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbpedia-owl:wikiPageWikiLink of
is foaf:primaryTopic of