Skip to main content

Co to jest programowanie obronne?

Programowanie defensywne to tworzenie kodu oprogramowania komputerowego zaprojektowanego w celu uniknięcia problematycznych problemów, zanim się pojawią i uczynić produkt bardziej stabilnym.Podstawową ideą tego podejścia jest utworzenie programu, który jest w stanie działać prawidłowo nawet poprzez nieprzewidziane procesy lub gdy użytkownicy dokonują nieoczekiwanych wpisów.Programowanie defensywne często opiera się na nieco paradoksalnej kombinacji eliminacji niepotrzebnego kodu, jednocześnie zapewniając, że wygenerowane są wystarczające ilości, aby obsłużyć wszystkie możliwe działania użytkownika.W przypadku tego procesu ważne są również obszerne testy, podobnie jak tworzenie oprogramowania, które można łatwo kontrolować i sprawdzić.

Pod wieloma względami koncepcja programowania obronnego jest bardzo podobna do koncepcji jazdy obronnej, ponieważ problemy są rozważane, zanim się pojawią.Jedną z powszechnych metod próby zrobienia tego jest tworzenie kodu, które ma radzić sobie z każdym możliwym scenariuszem.Programiści zazwyczaj starają się określić sposoby, w jakie użytkownicy prawdopodobnie wprowadzą dane wejściowe lub próbują korzystać z oprogramowania, które może być poza oczekiwanymi parametrami.Zastosowanie programowania obronnego opiera się na podstawie samego kodu, który ma być w stanie obsłużyć dziwne dane wejściowe bez awarii lub napotkania zdarzenia błędu.

Pozornie w przeciwieństwie do tego elementu programowania defensywnego, jednak dobrze napisany kod kodowyMusi być pozbawiony niepotrzebnych wpisów.Im więcej linii kodu, które są częścią programu, tym więcej możliwości wprowadzono błędy.Praktyki programowania defensywnego zazwyczaj zachęcają programistów do wyeliminowania niepotrzebnego kodu i programów usprawiedliwienia w miarę możliwości.Należy zatem uderzyć saldo między programowaniem, które uwzględnia nieoczekiwane scenariusze i kod, które zawierają zbyt wiele niepotrzebnych treści bez zapewniania korzyści. Testowanie jest jednym z najważniejszych aspektów programowania obronnego.Pomimo dużego wysiłku włożonego w zapewnienie kodu, programiści prawie zawsze pomijają błąd lub tworzą kod z nieoczekiwanymi wynikami.Dokładne testowanie przez profesjonalnych testerów pozwala programistom mieć setki godzin użycia produktu w celu znalezienia błędów przed wydaniem oprogramowania.

Sam kod tworzony w programowaniu obronnym jest również istotnym aspektem tego procesu.Nie tylko powinno być tak usprawnione, jak to możliwe, ale powinien być również prezentowany w sposób jasny i zwięzły.Audyty są często używane przez programistę do przeglądu utworzonego kodu.To pozwala innym programistom zobaczyć wykonaną pracę, a czytelny kod jest ważny, aby była realistyczną częścią rozwoju.