Hvad er defensiv programmering?
Defensiv programmering er oprettelse af kode til computersoftware designet til at undgå problematiske problemer, før de opstår og gøre produktet mere stabilt. Den grundlæggende idé bag denne tilgang er at oprette et program, der er i stand til at køre korrekt, selv gennem uforudsete processer, eller når uventede poster foretages af brugere. Defensiv programmering er ofte afhængig af en noget paradoksal kombination af at fjerne unødvendig kode, samtidig med at der sikres tilstrækkelige mængder til at håndtere alle mulige brugerhandlinger. Omfattende test er også vigtig for denne proces, ligesom oprettelsen af software, der let kan kontrolleres og kontrolleres.
På mange måder er begrebet defensiv programmering meget som defensiv kørsel, idet problemer overvejes, før de opstår. En almindelig metode til at forsøge at gøre dette er gennem oprettelse af kode, der er beregnet til at håndtere ethvert muligt scenario, der kastes mod det. Programmerere forsøger typisk at bestemme måder, hvorpå brugere sandsynligvis indtaster input eller forsøger at bruge software, der kan være uden for forventede parametre. Brugen af defensiv programmering bygger på fundamentet af selve koden, som er designet til at kunne håndtere mærkelig input uden at gå ned eller støde på en fejlhændelse.
Tilsyneladende i modsætning til dette element i defensiv programmering, skal imidlertid velskrevet kode være blottet for unødvendige poster. Jo flere kodelinjer, der er en del af et program, jo flere muligheder er der for, at der introduceres fejl. Defensiv programmeringspraksis opfordrer typisk udviklere til at fjerne unødvendige kode og strømline programmer, hvor det er muligt. Derfor skal der skabes en balance mellem programmering, der tegner sig for uventede scenarier og kode, der indeholder for meget unødvendigt indhold uden at give en fordel.
Testning er et af de vigtigste aspekter af defensiv programmering. På trods af en stor indsats for at sikre, at kode er perfekt, savner udviklere næsten altid en fejl eller opretter kode med uventede resultater. Grundig testning af professionelle testere gør det muligt for en udvikler at have hundreder af timers produktbrug til at finde fejl, før software frigives.
Selve koden, der oprettes i defensiv programmering, er også et vigtigt aspekt af denne proces. Ikke kun skal det strømline så meget som muligt, men det skal også præsenteres på en måde, der er klar og kortfattet. Revisioner bruges ofte af en udvikler til at gennemgå kode, der er oprettet. Dette gør det muligt for andre programmerere at se det arbejde, der er blevet udført, og læsbar kode er vigtig for at dette kan være en realistisk del af udviklingen.