Co je obranné programování?
Obranné programování je vytvoření kódu pro počítačový software navržený tak, aby se zabránilo problematickým problémům předtím, než se vyskytnou a učiní produkt stabilnější. Základní myšlenkou tohoto přístupu je vytvořit program, který je schopen správně provozovat i prostřednictvím nepředvídaných procesů nebo pokud uživatelé vytvářejí neočekávané položky. Obranné programování se často spoléhá na poněkud paradoxní kombinaci eliminace zbytečného kódu a zároveň zajišťuje generování dostatečného množství pro zpracování všech možných uživatelských akcí. Pro tento proces je také důležité rozsáhlé testování, stejně jako vytváření softwaru, který lze snadno audit a kontrolovat. Jednou z běžných metod, jak se o to pokusit, je vytvoření kódu, který má zabývat se jakýmkoli možným scénářem, který na něj vyhodí. Programátoři se obvykle snaží určit způsoby, jak jsou uživatelé pravděpodobnézadat vstup nebo zkusit použít software, který může být mimo očekávané parametry. Použití defenzivního programování je postaveno na základu samotného kódu, který je navržen tak, aby byl schopen zvládnout podivný vstup, aniž by se zhroutil nebo narazil na chybovou událost.
Zdánlivě na rozdíl od tohoto prvku defenzivního programování však musí být dobře napsaný kód bez zbytečných položek. Čím více řádků kódu je součástí programu, tím více příležitostí je zavedeno chyby. Obranné programovací postupy obvykle vybízejí vývojáře, aby eliminovali zbytečné kódové a zefektivňovací programy, kdykoli je to možné. Rovnováha musí být proto omezena mezi programováním, které odpovídá za neočekávané scénáře a kódem, který obsahuje příliš mnoho zbytečného obsahu bez poskytnutí výhody.
Testování je jedním z nejdůležitějších aspektů defenzivního programování. Navzdory velkému úsilí vynaloženého na zajištění toho, aby byl kód dokonalý, vývojáři téměř vždy chybí chyba nebo vytvářejí kód s neočekávanými výsledky. Důkladné testování profesionálních testerů umožňuje vývojáři mít stovky hodin využití produktu k nalezení chyb před uvolněním softwaru.
samotný kód, který je vytvořen v obranném programování, je také životně důležitým aspektem tohoto procesu. Nejen, že by to mělo být efektivní co nejvíce, ale mělo by být také prezentováno způsobem, který je jasný a stručný. Audity jsou často používány vývojářem k kontrole kódu, který byl vytvořen. To umožňuje ostatním programátorům vidět práci, která byla provedena, a čitelný kód je důležitý pro to, aby to byla realistická součást vývoje.