Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. Vstupné validácia:
* Kontrola typu údajov: Uistite sa, že vstupy sú očakávaný typ údajov (celé číslo, reťazec, float atď.). Neverte implicitne vstup alebo údaje používateľom z externých zdrojov.
* Kontrola rozsahu: Overte, či číselné vstupy spadajú do prijateľných rozsahov. Napríklad množstvo nemôže byť negatívne.
* Kontrola dĺžky: Obmedzte dĺžku reťazcov, aby ste zabránili pretekám vyrovnávacej pamäte alebo iným problémom.
* Kontrola formátu: Potvrďte, že vstupy sú v súlade so špecifickým formátom (napr. E -mailová adresa, dátum).
* sanitizácia: Pred ich spracovaním odstráňte alebo uniknite potenciálne škodlivými znakmi (napr. Značky HTML, injekčné znaky SQL) zo vstupov používateľov.
2. Manipulácia s chybami:
* Manipulácia s výnimkou (bloky exceptu): Použite štruktúrovanú výnimku na elegantné zachytenie a spracovanie očakávaných chýb (ako súbor nenájdený, problémy s sieťovým pripojením, neplatný vstup), ktorý zabraňuje zrážkam programu.
* tvrdenia: Použite príkazy „uplatniť“ na kontrolu podmienok, ktoré by * mali byť vždy pravdivé. Ak tvrdenie zlyhá, označuje chybu programovania. Tvrdenia sú predovšetkým určené na ladenie.
* Vrátané kódy/príznaky chýb: Funkcie môžu vrátiť konkrétne kódy alebo príznaky, ktoré označujú úspech alebo rôzne typy zlyhania.
* Protokolovanie: Zaznamenajte udalosti vrátane chýb a varovaní do protokolového súboru pre neskoršiu analýzu a ladenie. Je to rozhodujúce pre identifikáciu problémov vo výrobnom prostredí.
3. Predvolené hodnoty:
* Predvolené hodnoty: Poskytnite rozumné predvolené hodnoty pre premenné alebo parametre, keď vstupy chýbajú alebo neplatné.
* mechanizmy falšovania: Implementujte alternatívne stratégie alebo mechanizmy záložných opatrení, keď zlyhajú primárne operácie (napr. Použitie hodnoty v pamäti cache, ak dotaz databázy zlyhá).
4. Správa zdrojov:
* Správne uzavretie zdrojov: Uistite sa, že zdroje ako súbory, sieťové pripojenia a databázové pripojenia sú správne zatvorené, aj keď sa vyskytnú chyby (pomocou „konečne“ blokov alebo podobných konštruktov). Tým sa zabráni úniku zdrojov.
* Správa pamäte: Venujte pozornosť prideľovaniu pamäte a deaktivácii, aby ste zabránili úniku pamäte a visiacim ukazovateľom.
5. Jednoduchosť kódu a čitateľnosť:
* Modulárny dizajn: Rozdeľte komplexné úlohy na menšie, dobre definované moduly, aby sa kód uľahčil pochopenie, testovanie a údržba.
* Významné názvy: Použite opisnú premennú a názvy funkcií na zlepšenie čitateľnosti kódu a na uľahčenie porozumenia logiky.
* Komentáre a dokumentácia: Pridajte jasné a stručné komentáre, aby ste vysvetlili zložité časti kódu a jeho účel.
6. Testovanie:
* Testovanie jednotiek: Otestujte jednotlivé komponenty alebo funkcie programu izolovane.
* Testovanie integrácie: Otestujte, ako rôzne komponenty spolupracujú.
* regresné testovanie: Po vykonaní zmien opätovne zabezpečiť, aby sa existujúca funkčnosť nezlomila.
* Analýza hraničných hodnôt: Otestujte program so vstupmi na okrajoch platných rozsahov.
* Testovanie napätia: Otestujte program s vysokým objemom údajov alebo neobvyklých podmienok.
Defenzívne programovacie techniky pridávajú režijné náklady, pokiaľ ide o čas vývoja a zložitosť kódu. Vylepšená robustnosť a spoľahlivosť výsledného softvéru však tieto náklady zvyčajne prevažujú, najmä v kritických aplikáciách, kde zlyhania môžu mať vážne následky.