Programowanie defensywne - co to jest?

redakcja | 19.11.2022 22:23

Programowanie defensywne, a także kod defensywny  od angielskiego defensive programming, to sposób wytwarzania oprogramowania, które działa poprawnie przy nieprawidłowych sposobach jego użycia. Defense to oczywiście po angielsku obrona. 

Pracujący programista, ilustracja do artykułu o kodzie defensywnym
Pracujący programista, ilustracja do artykułu o kodzie defensywnym | envato, autor vladans

W przypadku serwisów internetowych w programowaniu defensywnym bronimy się i nie ufamy zazwyczaj nieprawidłowym danymi wejściowymi, które mogą pochodzić z formularzy, ze ścieżek adresu czy niezależnych API. 

Istnieje szereg technik dobrego programowania defensywnego, poniżej wymieniam kilka najpopularniejszych, które pomagają zbudować jak najbardziej defensywną aplikację i jej kod. 

  • Zasada najmniejszego uprzywilejowania - każdy element w kodzie ma dostęp tylko do tych zasobów i informacji, które mu są potrzebne, klasy, obiekty, API itd. nie mają dostępu do nadmiarowych rzeczy.
  • Upraszczanie kodu źródłowego
  • Obsługujemy wyjątki i asercje w kodzie, praktycznie każdy język i frameworki programowania mają do tego mechanizmy.
  • Testowanie oprogramowania
Artykuły z portalu